home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 2 / Gekikoh Dennoh Club Vol. 2 (Japan).7z / Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin / fsw / zm302 / zm4.man < prev    next >
Text File  |  1997-01-21  |  135KB  |  3,934 lines

  1.  
  2.         MEASURE  4
  3.  
  4.          ZMSコマンド
  5.  
  6.  
  7.   ここではCOMMAND.X上から音楽プログラムを書くための書式、
  8.  
  9. つまりZMSファイル(OPMファイル)の文法について解説します。
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18. 4.1.  ZMSファイルとは
  19.  
  20.  
  21.   ZMUSICシステムではエディタからMMLやコマンドを記述したファイルを
  22.  
  23. 演奏することが出来る。これをZMUSICシステムでは「ZMSファイル」と
  24.  
  25. 呼ぶ。X68k本体に付属している「OPMDRV.X」用の「OPMファイル」と
  26.  
  27. 概念的には、ほとんど同じものである。
  28.  
  29.   ZMSファイルはED.Xなどのスクリーンエディタを使って、ここで解説する
  30.  
  31. 「ZMSコマンド」を記述することによって作成していく。ZMSコマンドの中でも
  32.  
  33. トラックに依存しないZMSコマンドを特に「共通コマンド」と呼んでいる。
  34.  
  35.  
  36. 4.2.  ZMSコマンド
  37.  
  38.  
  39. ・省略しても良いパラメータはその旨を記述してあるがそれ以外は省略不可である。
  40.  
  41. ・コマンドは大文字小文字どちらで記述しても構わないが、ここでは説明の都合上
  42.  コマンド名を大文字、パラメータを小文字で記述している。
  43.  
  44. ・'*'を付けたものはパラメータを複数行に渡って記述出来る。それ以外の
  45.  コマンドではその1行で全てのパラメータを記述しなければならない。
  46.  
  47. ・MUSICZ3.FNCの外部関数命令と対応するものはそのコマンド名を
  48.  挙げてある。
  49.  
  50. ----------------------------------------
  51. ■初期化
  52. ----------------------------------------
  53. ●ZMUSICと音源の初期化
  54. (I)
  55. .INITIALIZE
  56.  
  57.   Z-MUSICと音源の初期化を行う。通常はZMS先頭に書く。
  58.  
  59. (MEASURE3 zm_init()参照)
  60.  
  61.  
  62.     .INITIALIZE
  63. ----------------------------------------
  64. ■各種モード設定
  65. ----------------------------------------
  66. ●マスタークロックの設定
  67. (Zn)
  68. .MASTER_CLOCK n
  69. ・n:1-32767
  70.  
  71.   全音符の絶対音長nを設定する。設定範囲は1≦n≦32767。
  72.  
  73. 初期値は192。通常は設定する必要はない。
  74.  
  75. この値を大きくすればするほどシステムへの負荷は大きくなるが精細な音長表現が
  76.  
  77. 可能になる。逆に小さくすればするほどシステムの負荷は軽くなるが短い音長を
  78.  
  79. 使用した場合に誤差を生じることがある。
  80.  
  81.   1920, 480, 192, 144, 128, 96といった数値を設定するのが一般的である。
  82.  
  83. たとえばn=1920として全音符の絶対音長を1920とした場合、4分音符は1920/4=480
  84.  
  85. で表される。
  86.  
  87. (MEASURE3 zm_set_master_clock()参照)
  88.  
  89.  
  90.     .MASTER_CLOCK 480
  91. ----------------------------------------
  92. ●ジャンプ系コマンドの制御
  93. .JUMP md
  94. ・md:DISABLE,ENABLE
  95.  
  96.   ジャンプ系MMLコマンドの生成を抑制する。
  97.  
  98.   md=DISABLEとした場合はこの生成を抑止し、md=ENABLEとした場合はこの生成を行う。
  99.  
  100. 抑制対象となるMMLコマンドは以下のジャンプ系MML。
  101.  
  102.     [@]        全トラック追従ジャンプ
  103.     [!]        単一トラックジャンプ
  104.     [end]        演奏停止
  105.     [JUMP]        小節ジャンプ
  106.  
  107.  
  108.     .JUMP DISABLE
  109. ----------------------------------------
  110. ●ゲートタイム解像度の設定
  111. .GATETIME_RESOLUTION n
  112. ・n:8,16,32,64,128
  113.  
  114.  MML Qの最大値を設定する。設定値は8,16,32,64,128のいずれか。
  115.  
  116. 初期設定時は8になっている。大きな値に設定すればより細かなゲートタイム
  117.  
  118. 指定が行えるようになる。
  119.  
  120.  
  121.     .GATETIME_RESOLUTION 128
  122. ----------------------------------------
  123. ●音長指定方式の選択
  124. .LENGTH_MODE md
  125. ・md:MML,STEP
  126.  
  127.   音符の解釈方式を選択する。モードは「MMLモード」と「STEPモード」がある。
  128.  
  129.  MMLモードは、いわゆる一般的なMML方式で、音符を
  130.  
  131.    <音符[変化記号]> [音長] [発音長] [ベロシティ]
  132.  
  133.  (<>は省略不可、[]は省略可のパラメータを表している)
  134.  
  135. の順で記述するもの。音長、および発音長は、全音符を1とした音楽的音長で
  136.  
  137. 指定する。
  138.  
  139.  一方、STEPモードでは、ステップ入力型DTMツールの音符入力方式を模倣したもので
  140.  
  141.    <キー>[変化記号][オクターブ] [ステップタイム] [ゲートタイム] [ベロシティ]
  142.  
  143. のような書式で音符を記述する。ステップタイムはMMLモードの音長に相当し、
  144.  
  145. ゲートタイムはMMLモードの発音長に相当する。ただし、両方ともMMLモードでいう
  146.  
  147. ところの絶対音長で表記する点が異なる(STEPモードでは使用できる音長が絶対音長
  148.  
  149. のみとなる)。
  150.  
  151.  たとえばオクターブ4の4分音符(絶対音長=48)のド#をベロシティ100、発音長を
  152.  
  153. 符点8分音符相当(絶対音長=36)で鳴らしたい場合、MMLモードでは
  154.  
  155.     c#4,8.,100
  156.  
  157. となるが、STEPモードでは
  158.  
  159.     c#4,48,36,100
  160.  
  161. と記述する。
  162.  
  163.  
  164.     .LENGTH_MODE STEP
  165. ----------------------------------------
  166. ●相対ベロシティMMLの指定
  167. .RELATIVE_VELOCITY md
  168. ・md:_~,~_,@U,U
  169.  
  170.   初期状態では_ ~は相対音量のMMLであるが、これを相対ベロシティに効果を
  171.  
  172. 変換することができる。本命令はこの変換についての設定を行うもの。
  173.  
  174.   md=_~あるいはmd=~_とすると、相対ベロシティは _ ~で行うことができるように
  175.  
  176. なる。一方、md=@Uまたはmd=Uとすると相対ベロシティは従来どおり@U±n,U±nで
  177.  
  178. 指定することになり、_~は相対音量の操作MMLとして機能する。
  179.  
  180.  
  181.     .RELATIVE_VELOCITY _~
  182.     .RELATIVE_VELOCITY @U
  183. ----------------------------------------
  184. ●FM音源チューニング
  185. .FM_TUNE_SETUP {t1,t2,...,t128}            *
  186. ・t1~t128:-32768~+32768
  187.  
  188.  FM音源のチューニング設定を O-1C(C-1) から O9G(G9) まで128個のノート個別に
  189.  
  190. 行う(概念的にはノート個別に設定するディチューンのようなもの)。
  191.  
  192.   t1~t128はそれぞれノート番号0(C-1)から127(G9)までに対応する。
  193.  
  194. t1~t128の設定範囲は-32768~+32767で、64が半音の変化量に相当する。ディチューン
  195.  
  196. 設定を行うMML @Kに与える数値と同次元。
  197.  
  198.   t1~t128はt1から任意の個数まで設定したあと設定を打ち切ることができる。
  199.  
  200. その場合、省略されたものについては0が設定されたと見なされる。
  201.  
  202.  
  203.     .fm_tune_setup {0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
  204.             0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
  205.             0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
  206.             0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
  207.             0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
  208.             0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
  209.             0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
  210.             0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
  211.             0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
  212.             0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
  213.             0,-5,3,10,-9,-1,-6,1}
  214.  
  215.             (Cを主音とした平均律の例)
  216. ----------------------------------------
  217. ●ADPCM音源チューニング
  218. .ADPCM_TUNE_SETUP {t1,t2,...,t128}        *
  219. .PCM_TUNE_SETUP {t1,t2,...,t128}        *
  220. ・t1~t128:-32768~+32768
  221.  
  222.  ADPCM(PCM)音源のチューニング設定を O-1C(C-1) から O9G(G9) まで128個の
  223.  
  224. ノート個別に行う。
  225.  
  226.   t1~t128はそれぞれノート番号0(C-1)から127(G9)までに対応する。
  227.  
  228. t1~t128の設定範囲は-32768~+32767で、64が半音の変化量に相当する。ディチューン
  229.  
  230. 設定を行うMML @Kに与える数値と同次元。
  231.  
  232.   t1~t128はt1から任意の個数まで設定したあと設定を打ち切ることができる。
  233.  
  234. その場合、省略されたものについては0が設定されたと見なされる。
  235.  
  236.  
  237.     .pcm_tune_setup{-4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
  238.             -4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
  239.             -4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
  240.             -4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
  241.             -4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
  242.             -4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
  243.             -4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
  244.             -4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
  245.             -4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
  246.             -4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
  247.             -4,29,-1,-8,-33,-5,28,-3}
  248.  
  249.             (アラビア音階)
  250. ----------------------------------------
  251. ■拍子/調号
  252. ----------------------------------------
  253. ●拍子設定
  254. .METER m/n
  255. .m/n:1/1~255/255
  256.  
  257.  拍子の設定を行う。ただし、この設定は演奏になんら影響を与えるものではなく
  258.  
  259. あくまで、演奏データに対する1つの付加情報的な意味あいしか持たない。
  260.  
  261.  m/nは音楽的な拍子をそのまま分数表現で与えることができる。
  262.  
  263.  
  264.     .METER    3/4
  265.  
  266.         (4分の3拍子を設定)
  267. ----------------------------------------
  268. ●調号設定
  269. .KEY { n,type,m }
  270. .KEY  str
  271. ・n:0-7
  272. ・type:-,+,#
  273. ・m:MAJOR,MINOR
  274. ・str:文字列
  275.  
  276.   調号の設定を行う。この設定は演奏になんら影響を与えるものではなくあくまで、
  277.  
  278. 演奏データに対する1つの付加情報的な意味あいしか持たない。
  279.  
  280.   nは調号中の変化記号の個数で設定範囲は0~7。
  281.  
  282.   typeは調号に含まれる変化記号の個数を表し、設定項目は -,+,#のいずれか。
  283.  
  284. -は♭を表し、+または#は♯を表す。
  285.  
  286.  mは長調か短調のいずれかを選択するパラメータで、設定項目はMAJOR,MINORの
  287.  
  288. いずれか。MAJORが長調、MINORが短調に対応する。
  289.  
  290.   また、一般的な調は以下に示す英語表記の調名にて指定することもできる。
  291.  
  292. Cmajor,Gmajor,Dmajor,Amajor,Emajor,Bmajor,F+major,F#major,C+major,C#major
  293. Fmajor,B-major,Bbmajor,E-major,Ebmajor,A-major,Abmajor,D-major,Dbmajor
  294. G-major,Gbmajor,C-major,Cbmajor
  295. Aminor,Eminor,Bminor,F+minor,F#minor,C+minor,C#minor,G+minor,G#minor
  296. D+minor,D#minor,A+minor,A#minor,Dminor,Gminor,Cminor,Fminor,B-minor
  297. Bbminor,E-minor,Ebminor,A-minor,Abminor
  298.  
  299.  
  300.     .KEY C#minor        /嬰ハ短調
  301. ----------------------------------------
  302. ●演奏時間
  303. .PERFORMANCE_TIME hh:mm:ss
  304. hh:00~99
  305. mm:00~59
  306. ss:00~59
  307.  
  308.   演奏時間を設定する。この設定は演奏になんら影響を与えるものではなくあくまで、
  309.  
  310. 演奏データに対する1つの付加情報的な意味あいしか持たない。
  311.  
  312.   hh,mm,ssはそれぞれ、時間、分、秒をあらわし、00:00:01~99:59:59までの
  313.  
  314. 値を取る。
  315.  
  316.  
  317.     .PERFORMANCE_TIME 00:01:32
  318. ----------------------------------------
  319. ■トラック定義/チャンネルアサイン
  320. ----------------------------------------
  321. ●トラック定義/チャンネルアサイン
  322. (A dev,trk,trkv,trkf,trks,trkm,cmnt)
  323. .ASSIGN trk {dev,trkv,trkf,trks,trkm,cmnt}        *
  324. ・trk:1~65535
  325. ・dev:FM1~FM8,MIDI1-1~MIDI3-16,ADPCM1~16
  326. ・trkv:0-128
  327. ・trkf:1-256
  328. ・trks:PLAY,RECORD
  329. ・trkm:NORMAL,RHYTHM
  330. ・cmnt:文字列
  331.  
  332.  演奏で使用するトラックの定義を行う。
  333.  
  334. ・trk:トラック番号
  335.  
  336.   trkはトラック番号で1~65535与えることができる。
  337.  
  338. ・dev:デバイス名
  339.  
  340.   devはそのトラックをどの音源の演奏に用いるかを指定するもの。
  341.   FM1~FM8はFM音源チャンネル1~8,ADPCM1~ADPCM16はADPCMチャンネル1~16に
  342.   対応する。またADPCMはPCM1~PCM16としても指定できる。
  343.   デバイス名のFMやADPCMの後ろに'-'を添付しFM-1~FM-8,ADPCM-1~ADPCM-16のように
  344.   定することも可能。
  345.  MIDIはデバイス名MIDIの後ろにインターフェース番号,チャンネル番号を順番に
  346.   記述して指定する。インターフェース番号を省略することもできる。省略時は
  347.  後述のカレントMIDI-OUTとして選択されているインターフェースを指定したことに
  348.   なる。
  349.  
  350. ・trkv:トラックボリューム
  351.  
  352.  そのトラックの出力音量を指定する。設定範囲は0~128で、0が無音状態、128が
  353.   原音量に相当する。trkvは省略可能で省略時は128が設定される。
  354.  
  355. ・trkf:トラック処理頻度
  356.  
  357.  そのトラックの処理頻度を指定する。設定範囲は1~256。
  358.   たとえば2を指定するとそのトラックは2回に1回の割合でしか処理されず、
  359.   システムに対する負荷を軽くすることができる。ただし、短い音長を
  360.   使用した音符を演奏すると演奏に誤差を生じる場合がある。
  361.  trkfは省略可能で省略時は1が設定される。
  362.  
  363. ・trks:トラック状態
  364.  
  365.  そのトラックの使用目的を指定する。設定項目はPLAY,RECORDのいずれか。
  366.   ただし、現在指定できるのはPLAY(演奏)のみ。trksは省略可能で省略時はPLAYが
  367.   設定される。
  368.  
  369. ・trkm:トラックモード
  370.  
  371.  そのトラックの演奏処理形式を指定する。設定項目はNORMALまたはRHYTHM。
  372.   NORMALはノートオン/ノートオフを通常に処理する演奏モード、一方
  373.   RHYTHMに設定するとノートオフ処理を省略する演奏モードで処理される。
  374.   RHTHM指定時は丁度MMLで@R1を設定した時と同じになる
  375.  trkmは省略可能で省略時はNORMALが設定される。
  376.  
  377. ・cmnt:コメント
  378.  そのトラックに与える注釈を添付することができる。
  379.  文字列は"~"で括る必要はなく、何文字でも可能。
  380.  
  381. (MEASURE3 zm_assign()参照)
  382.  
  383.  
  384.     .ASSIGN 1 FM1
  385.     (A MIDI10,10)
  386.     .ASSIGN 10 {MIDI2-1,128,1,PLAY,NORMAL,MELODY LINE}
  387.     (A PCM-1,1,128,2,PLAY,RHTHM,DRUM PART)
  388. ----------------------------------------
  389. ■演奏制御
  390. ----------------------------------------
  391. ●演奏開始
  392. (Pn1,n2,…,ni)
  393. .PLAY {n1,n2,…,ni}            *
  394. ・n1~ni:1-65535
  395.  
  396.   指定されたトラック(n1~ni)の演奏を開始する。
  397.  
  398. n1~niはトラック番号を表し、設定範囲は1≦ni≦65535。全パラメータを省略した
  399.  
  400. 場合は全トラックの演奏を開始する。
  401.  
  402. (MEASURE3 zm_play()参照)
  403.  
  404.  
  405.     (P)
  406.     .PLAY
  407.     (P1,2,3)
  408.     .PLAY {
  409.         1,2,3,4
  410.         5,6,7,8
  411.           }
  412. ----------------------------------------
  413. ●演奏停止
  414. (Sn1,n2,…,ni)
  415. .STOP {n1,n2,…,ni}            *
  416. ・n1~ni:1-65535
  417.  
  418.   指定されたトラック(n1~ni)の演奏を停止する。
  419.  
  420. n1~niはトラック番号を表し、設定範囲は1≦ni≦65535。全パラメータを省略した
  421.  
  422. 場合は全トラックの演奏を停止する。
  423.  
  424. (MEASURE3 zm_stop()参照)
  425.  
  426.  
  427.     (S)
  428.     .STOP
  429.     (S1,2,3)
  430.     .STOP {
  431.         1,2,3,4
  432.         5,6,7,8
  433.           }
  434. ----------------------------------------
  435. ●演奏再開
  436. (Cn1,n2,…,ni)
  437. .CONTINUE {n1,n2,…,ni}            *
  438. ・n1~ni:1-65535
  439.  
  440.   指定されたトラック(n1~ni)の演奏を再開する。
  441.  
  442. n1~niはトラック番号を表し、設定範囲は1≦ni≦65535。全パラメータを省略した
  443.  
  444. 場合は全トラックの演奏を再開する。
  445.  
  446. (MEASURE3 zm_cont()参照)
  447.  
  448.  
  449.     (C)
  450.     .CONTINUE
  451.     (C1,2,3)
  452.     .CONTINUE {
  453.         1,2,3,4
  454.         5,6,7,8
  455.           }
  456. ----------------------------------------
  457. ●トラックマスク
  458. .TRACK_MASK { trk1,mode1, trk2,mode2, ... trkX,modeX }        *
  459. ・trkX:1-65535,ALL
  460. ・modeX:OFF,ON,REVERSE
  461.  
  462.   演奏中の任意のトラックをリアルタイムにマスク/解除する。
  463.  
  464.  trkXは操作対象とするトラック番号を表し、1~65535を設定する。また、演奏中
  465.  
  466. すべての演奏トラックを操作対象とする場合は文字列 ALL を指定する。
  467.  
  468.  modeXはtrkXで指定したトラックの演奏状態をどう変更するかを指定する。
  469.  
  470. 以下にmodeXの設定項目とその効果を示す。
  471.  
  472.     modeX            効果
  473.     OFF        そのトラックをマスクする
  474.     ON        そのトラックのマスクを解除する
  475.     REVERSE        そのトラックのマスクを反転する
  476.  
  477. (MEASURE3 zm_mask_tracks()参照)
  478.  
  479.  
  480.     .TRACK_MASK {1,ON
  481.              2,OFF
  482.              3,REVERSE
  483.     }
  484. ----------------------------------------
  485. ■フェーダー制御
  486. ----------------------------------------
  487. ●マスターフェーダー
  488. .MASTER_FADER {dev1,spd1,st1,ed1,dev2,spd2,st2,ed2,...,devX,spdX,stX,edX} *
  489. ・devX:ALL,FM,ADPCM,MIDI1,MIDI2,MIDI3
  490. ・spdX:0-255
  491. ・stX:0-128
  492. ・edX:0-128
  493.  
  494.  マスターフェーダーはZMUSICの演奏の最終的な出力制御を司るフェーダーで、
  495.  
  496. 後述のトラック単位のトラックフェーダーとは独立して制御が行える。
  497.  
  498.   本命令は、デバイスdevXのマスターフェーダーを速度spdXでレベルstXからedXまで
  499.  
  500. 移動させるもの。
  501.  
  502.   devXは操作対象デバイスで、ALL,FM,ADPCM,MIDI1,MIDI2,MIDI3のいずれかを指定する。
  503.  
  504. ALLでは全デバイスのマスターフェーダーを操作対象とする。
  505.  
  506.   spdXはフェーダーの移動速度で数値が大きいほど高速に移動する。また、spdX=0では
  507.  
  508. 「静止」の指定となる。
  509.  
  510.   stXはフェーダー移動の開始レベルに相当し、0が無音、128が最大(原音)レベルに
  511.  
  512. 対応する。
  513.  
  514.   edXはフェーダー移動の終了レベルに相当し、0が無音、128が最大(原音)レベルに
  515.  
  516. 対応する。
  517.  
  518. (MEASURE3 zm_master_fader()参照)
  519.  
  520.  
  521.     .MASTER_FADER {ALL,10,128,0}
  522.     .MASTER_FADER {
  523.         MIDI1,10,128,0
  524.         MIDI2,10,0,128
  525.         MIDI3,0,64,64
  526.     }
  527. ----------------------------------------
  528. ●トラックフェーダー
  529. .TRACK_FADER {trk1,spd1,st1,ed1,trk2,spd2,st2,ed2,...,trkX,spdX,stX,edX} *
  530. ・trkX:1-65535
  531. ・spdX:0-255
  532. ・stX:0-128
  533. ・edX:0-128
  534.  
  535.   トラックフェーダーはトラック単位にその演奏出力制御が行えるフェーダーである。
  536.  
  537.   本命令は、トラックtrkXのトラックフェーダーを速度spdXでレベルstXからedXまで
  538.  
  539. 移動させるもの。
  540.  
  541.   trkXは操作対象トラック番号で、設定範囲は1-65535。
  542.  
  543.   spdXはフェーダーの移動速度で数値が大きいほど高速に移動する。また、spdX=0では
  544.  
  545. 「静止」の指定となる。
  546.  
  547.   stXはフェーダー移動の開始レベルに相当し、0が無音、128が最大(原音)レベルに
  548.  
  549. 対応する。
  550.  
  551.   edXはフェーダー移動の終了レベルに相当し、0が無音、128が最大(原音)レベルに
  552.  
  553. 対応する。
  554.  
  555. (MEASURE3 zm_set_ch_output_level(),zm_set_tr_output_level()参照)
  556.  
  557.  
  558.     .TRACK_FADER {
  559.         1,10,128,0
  560.         2,10,0,128
  561.         3,0,64,64
  562.     }
  563. ----------------------------------------
  564. ■テンポ
  565. ----------------------------------------
  566. ●テンポ
  567. (Ot)
  568. .TEMPO t
  569. ・t:1-32767
  570.  
  571.   テンポをtに設定する。1分間にt個の4分音符を演奏するようになる。
  572.  
  573. tの設定範囲は1-32767。ただし、テンポ制御タイマーにタイマーAを使用した場合の
  574.  
  575. tの設定範囲は77-32767となる。
  576.  
  577. (MEASURE3 zm_tempo()参照)
  578.  
  579.  
  580.     (o120)
  581.     .TEMPO 150
  582. ----------------------------------------
  583. ■MMLセット
  584. ----------------------------------------
  585. ●MMLセット
  586. (Tn1,n2,…,n8) 
  587. .TRACK n1,n2,…,n8 { MML }
  588. ・n1~n8:1-65535
  589.  
  590.   MMLをトラックn1~n8へセットする。設定範囲は1≦n1~n8≦65535。
  591.  
  592. トラック番号を複数指定した場合は同一MMLを同時に複数のトラックにセットする。
  593.  
  594. また、n2以降は省略可能。
  595.  
  596.  MMLをセットするトラックはあらかじめ.ASSIGN命令で宣言しておかなければならない。
  597.  
  598.  なお、MMLについてはMEASURE 5を参照のこと。
  599.  
  600.  
  601.     .TRACK 1,2,3 {
  602.     c4 d4 e4
  603.     }
  604. ----------------------------------------
  605. ●パターントラック
  606. .PATTERN name,trkf { MML }        *
  607. ・name:文字列
  608. ・trkf:1-256
  609.  
  610.  パターントラックを定義する。パターントラックとは曲中頻繁に使うリズムパターン
  611.  
  612. などを固有の名前を与えて定義し、曲中任意に呼び出すことができる演奏トラックの
  613.  
  614. こと。具体的には、本命令でパターントラックを定義し、MML
  615.  
  616.     [PATTERN]
  617.     [EMBED]
  618.  
  619. で曲中で呼び出す。
  620.  
  621.  nameはパターン名を表し、これは251文字以内の英数字文字列で指定する。
  622.  
  623.   trkfは.ASSIGN命令のtrkfに相当するもので、トラック処理頻度を
  624.  
  625. 表す。設定範囲は1-256で、省略可能。省略時は1が設定される。
  626.  
  627.  MMLについてはMEASURE 5を参照のこと。
  628.  
  629.  
  630.     .PATTERN FUNK,1 {
  631.         o2 @u99 c4 @u120 d4 @u99c8 c8 @u127 d4
  632.     }
  633. ----------------------------------------
  634. ■FM音源の音色設定
  635. ----------------------------------------
  636. ●FM音源の音色設定
  637. (Vn,0,v1,v2,…,v55)                      *
  638. ・n:1~32768
  639. ・v1~v55:下記参照
  640.  
  641.   FM音源の音色設定を行う。
  642.  
  643.   nは定義する音色番号で1≦n≦32768。
  644.  
  645.   v1~v55の音色パラメータについては下記参照。
  646.  
  647.     音色フォーマット(OPMDRV.X互換方式)
  648.  
  649.     v1:AF(フィードバック/アルゴリズム) (0~63)
  650.     v2:OM(スロットマスク)            (0~15)
  651.     v3:WF(ウェーヴフォーム)          (0~3)
  652.     v4:SYC(シンクロ)              (0,1)
  653.     v5:SPD(スピード)            (0~255)
  654.     v6:PMD                    (0~127)
  655.     v7:AMD                    (0~127)
  656.     v8:PMS                    (0~7)
  657.     v9:AMS                    (0~3)
  658.     v10:PAN                    (0~3)
  659.     v11:DUMMY
  660.     v12:OP1, v13:OP2, v14:OP3, v15:OP4  AR(アタックレート)        (0~31)
  661.     v16:OP1, v17:OP2, v18:OP3, v19:OP4  1DR(1stディケイレート)   (0~31)
  662.     v20:OP1, v21:OP2, v22:OP3, v23:OP4  2DR(2ndディケイレート)   (0~31)
  663.     v24:OP1, v25:OP2, v26:OP3, v27:OP4  RR(リリースレート)        (0~15)
  664.     v28:OP1, v29:OP2, v30:OP3, v31:OP4  1DL(1stディケイレベル)  (0~15)
  665.     v32:OP1, v33:OP2, v34:OP3, v35:OP4  TL(トータルレベル)       (0~127)
  666.     v36:OP1, v37:OP2, v38:OP3, v39:OP4  KS(キースケーリング)      (0~3)
  667.     v40:OP1, v41:OP2, v42:OP3, v43:OP4  MUL(フェーズマルチプライ)  (0~15)
  668.     v44:OP1, v45:OP2, v46:OP3, v47:OP4  DT1(ディチューン1)      (0~7)
  669.     v48:OP1, v49:OP2, v50:OP3, v51:OP4  DT2(ディチューン2)      (0~3)
  670.     v52:OP1, v53:OP2, v54:OP3, v55:OP4  AME(AMSイネーブル)     (0,1)
  671.  
  672. (MEASURE3 zm_vset()参照)
  673.  
  674.   (v1,0
  675. /        AF  OM  WF  SY  SP PMD AMD PMS AMS PAN
  676.      60, 15,  2,  0,210, 40,  0,  2,  0,  3,  0
  677. /        AR  DR  SR  RR  SL  OL  KS  ML DT1 DT2 AME
  678.      31,  5,  0, 12,  2, 30,  1,  2,  7,  0,  0
  679.      31,  5,  0, 12,  8,  6,  1,  2,  5,  0,  0
  680.      31,  5,  0, 12,  8, 28,  1,  2,  3,  0,  0
  681.      31,  5,  0, 12,  8,  6,  1,  2,  5,  0,  0)
  682. ----------------------------------------
  683. ●FM音源の音色設定
  684. (@n,v1,v2,…,v55)                            *
  685. .FM_TIMBRE n,cmnt {v1,v2,…,v55}                      *
  686. .FM_VSET n,cmnt {v1,v2,…,v55}                        *
  687. ・n:1-32768
  688. ・cmnt:コメント
  689. ・v1~v55:下記参照
  690.  
  691.   AL/FB分離形式によるFM音源の音色設定を行う。
  692.  
  693.   nは定義する音色番号で1≦n≦32768。
  694.  
  695.   cmntには音色に関するコメント文字列を与えることが出来る。ただし省略可能。
  696.  
  697.   v1~v55の音色パラメータについては下記参照。
  698.  
  699.     音色フォーマット(AL/FB分離方式)
  700.  
  701.     v1:OP1, v2:OP2, v3:OP3, v4:OP4  AR(アタックレート)        (0~31)
  702.     v5:OP1, v6:OP2, v7:OP3, v8:OP4  1DR(1stディケイレート)   (0~31)
  703.     v9:OP1,v10:OP2,v11:OP3,v12:OP4  2DR(2ndディケイレート)   (0~31)
  704.     v13:OP1,v14:OP2,v15:OP3,v16:OP4  RR(リリースレート)        (0~15)
  705.     v17:OP1, v18:OP2, v19:OP3, v20:OP4  1DL(1stディケイレベル)  (0~15)
  706.     v21:OP1, v22:OP2, v23:OP3, v24:OP4  TL(トータルレベル)       (0~127)
  707.     v25:OP1, v26:OP2, v27:OP3, v28:OP4  KS(キースケーリング)      (0~3)
  708.     v29:OP1, v30:OP2, v31:OP3, v32:OP4  MUL(フェーズマルチプライ)  (0~15)
  709.     v33:OP1, v34:OP2, v35:OP3, v36:OP4  DT1(ディチューン1)      (0~7)
  710.     v37:OP1, v38:OP2, v39:OP3, v40:OP4  DT2(ディチューン2)      (0~3)
  711.     v41:OP1, v42:OP2, v43:OP3, v44:OP4 AME(AMSイネーブル)     (0,1)
  712.     v45:AL(アルゴリズム)           (0~7)
  713.     v46:FB(フィードバック)          (0~7)
  714.     v47:OM(スロットマスク)            (0~15)
  715.     v48:PAN                    (0~3)
  716.     v49:WF(ウェーヴフォーム)          (0~3)
  717.     v50:SYC(シンクロ)              (0,1)
  718.     v51:SPD(スピード)            (0~255)
  719.     v52:PMD                    (0~127)
  720.     v53:AMD                    (0~127)
  721.     v54:PMS                    (0~7)
  722.     v55:AMS                   (0~3)
  723.  
  724. (MEASURE3 zm_vset()参照)
  725.  
  726. .FM_TIMBRE 1,SQUARE WAVE {
  727.     /        AR  DR  SR  RR  SL  OL  KS  ML DT1 DT2 AME
  728.                31,  0,  2,  0,  0, 21,  0,  1,  0,  0,  0
  729.          31,  0,  0,  8,  0,  3,  0,  3,  0,  0,  0
  730.          31,  0,  0,  8,  0,  3,  0,  1,  0,  0,  0
  731.          31,  0,  0,  8,  0,  3,  0,  1,  0,  0,  0
  732.     /        AL  FB  OM PAN  WF  SY  SP PMD AMD PMS AMS
  733.           5,  7, 15,  3   0,  0,  0,  0,  0,  0,  0}
  734. ----------------------------------------
  735. ■ADPCM/PCMデータ加工/登録
  736. ----------------------------------------
  737. ●PCM音色の登録
  738. .8BITPCM_TIMBRE b,t,k,str { filename,PPC }    *
  739. .16BITPCM_TIMBRE b,t,k,str { filename,PPC }    *
  740. .ADPCM_TIMBRE b,t,k,str { filename,PPC }    *
  741. ・b:0-255
  742. ・t:1-128
  743. ・k:O-1C~O9G または C-1~G9
  744. ・str:文字列
  745. ・filename:文字列
  746. ・PPC:後述
  747.  
  748.   filenameで指定されたPCMデータを音色(TIMBRE)として登録する。
  749.  
  750. .8BITPCM_TIMBREは8BIT PCM、.16BITPCM_TIMBREは16BIT PCM,.ADPCM_TIMBREは
  751.  
  752. ADPCMをそれぞれ登録する。
  753.  
  754.   b,tはそれぞれ登録先バンク番号,登録先音色番号をあらわし、設定範囲は
  755.  
  756. 0≦b≦255,1≦t≦128。
  757.  
  758.   kは登録するPCMデータの原音高(オリジナルキー)を設定するもので設定範囲は
  759.  
  760. O-1C~O9G または C-1~G9。ZMUSICがPCMの音程を変化させる場合は、このkの設定を
  761.  
  762. もとに行うことになる。
  763.  
  764.   strはコメントで登録する音色に付いての簡単な注釈文などを添えることが出来る
  765.  
  766. (省略可能)。
  767.  
  768.   filenameを読み込むファイルの名前でなく
  769.  
  770.     .TIMBRE b,t
  771.     .TONE b,n
  772.  
  773. といった書式で指定すれば、以前に
  774.  
  775.   「.TIMBRE b,t」ならば.8BITPCM_TIMBRE,.16BITPCM_TIMBRE,.ADPCM_TIMBRE
  776.  
  777.   「.TONE b,t」ならば.8BITPCM_TONE,.16BITPCM_TONE,.ADPCM_TONE
  778.  
  779. を用いて登録した音色/トーンのコピーを用いて加工登録することもできる。
  780.  
  781.   「.TIMBRE b,t」書式では、bがバンク番号(0-255)、tが音色番号(1-128)を、
  782.  
  783.   「.TONE b,n」書式では、bがバンク番号(1-256)、nがトーン番号(0-127)を表す。
  784.  
  785. nはO-1C~O9G または C-1~G9といった音階MMLで指定することもできる。
  786.  
  787.   PPC(PCM PROCESSING COMMAND)はfilenameで指定されたPCMデータを登録する前に
  788.  
  789. 加工処理を行う命令で以下のようなものがある。各PPCは指定された順序に従い
  790.  
  791. 加工を実行していく。PPCは省略、あるいは、同種PPCの複数設定も可能。
  792.  
  793. (MEASURE6参照)
  794.  
  795.  
  796.   .16BITPCM_TIMBRE 0,10,O2C,BASS  {SLAP.P16,.VOLUME 120}
  797.   .ADPCM_TIMBRE 1,10,O2C,BASS2 {.TIMBRE 0,10,.BEND 15600,22000}
  798.  
  799.   本命令でバンクb、音色番号tで登録したPCMは[PCM_MODE TIMBRE]にしたトラックで
  800.  
  801. MML Iでバンク番号b、MML @で音色番号を指定すると使用することが出来る。
  802.  
  803.  
  804.   .ADPCM_TIMBRE 1,10,O2C,BASS2 {.TIMBRE 0,10,.BEND 15600,22000}
  805.  
  806. で登録した音色は
  807.  
  808.   (t1)[PCM_MODE TIMBRE] i0,1 @10
  809.  
  810. で、またはMML @のみで
  811.  
  812.   (t1)[PCM_MODE TIMBRE] @1:10
  813.  
  814. と指定することも出来る。
  815. ----------------------------------------
  816. ●PCMトーンの登録
  817. .8BITPCM_TONE t,k,str { filename,PPC }    *
  818. .16BITPCM_TONE t,k,str { filename,PPC }    *
  819. .ADPCM_TONE t,k,str { filename,PPC }    *
  820. ・t:1-256
  821. ・k:0-127 あるいは O-1C~O9G または C-1~G9
  822. ・str:文字列
  823. ・filename:文字列
  824. ・PPC:後述
  825.  
  826.   filenameで指定されたPCMデータをトーン(TONE)として登録する。
  827.  
  828. .8BITPCM_TONEは8BIT PCM、.16BITPCM_TONEは16BIT PCM,.ADPCM_TONEはADPCMを
  829.  
  830. それぞれ登録する。
  831.  
  832.   tは登録先トーンセット番号をあらわし、設定範囲は1≦t≦256。
  833.  
  834.   kは登録するノート番号を指し示すもので設定範囲は0-127あるいは、音階MMLを
  835.  
  836. 用いてO-1C~O9G または C-1~G9と指定することも出来る。
  837.  
  838.   strはコメントで登録する音色に付いての簡単な注釈文などを添えることが出来る
  839.  
  840. (省略可能)。
  841.  
  842.   filenameを読み込むファイルの名前でなく
  843.  
  844.     .TIMBRE b,t
  845.     .TONE b,n
  846.  
  847. といった書式で指定すれば、以前に
  848.  
  849.   「.TIMBRE b,t」ならば.8BITPCM_TIMBRE,.16BITPCM_TIMBRE,.ADPCM_TIMBRE
  850.  
  851.   「.TONE b,t」ならば.8BITPCM_TONE,.16BITPCM_TONE,.ADPCM_TONE
  852.  
  853. を用いて登録した音色/トーンのコピーを用いて加工登録することもできる。
  854.  
  855.   「.TIMBRE b,t」書式では、bがバンク番号(0-255)、tが音色番号(1-128)を、
  856.  
  857.   「.TONE b,n」書式では、bがバンク番号(1-256)、nがトーン番号(0-127)を表す。
  858.  
  859. nはO-1C~O9G または C-1~G9といった音階MMLで指定することもできる。
  860.  
  861.   PPC(PCM PROCESSING COMMAND)はfilenameで指定されたPCMデータを登録する前に
  862.  
  863. 加工処理を行う命令で以下のようなものがある。各PPCは指定された順序に従い
  864.  
  865. 加工を実行していく。PPCは省略、あるいは、同種PPCの複数設定も可能。
  866.  
  867. (MEASURE6参照)
  868.  
  869.  
  870.   .16BITPCM_TONE 0,36,BASS  {BD.P16,.VOLUME 120}
  871.   .ADPCM_TONE   10,o2d,SNARE {.TIMBRE 0,10,.BEND 15600,22000}
  872.  
  873.  本命令でトーンセットt、ノート番号kに登録したPCMは[PCM_TIMBRE TONE]にした
  874.  
  875. トラックで(デフォルト状態)MML @でトーンセット番号を指定し、希望のノートを
  876.  
  877. キーオンさせることで鳴らすことが出来る。
  878.  
  879.  
  880.   .ADPCM_TONE   10,o2d,SNARE {.TIMBRE 0,10,.BEND 15600,22000}
  881.  
  882. で登録した音色は
  883.  
  884.   (t1)[PCM_MODE TONE] @10 o2 d
  885.  
  886. として演奏させることが出来る。
  887. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  888. ┃            PCM PROCESSING COMMAND                      ┃
  889. ┃                                          ┃
  890. ┃----------------------------------------------------------------------------┃
  891. ┃●音程の変更(その1)                                  ┃
  892. ┃.PITCH k,o,s                                      ┃
  893. ┃・k:O-1C~O9G,C-1~G9,-144~+144                          ┃
  894. ┃・o:0-4294967295                                  ┃
  895. ┃・s:0-4294967295                                  ┃
  896. ┃                                          ┃
  897. ┃  音高を半音単位で変更する                              ┃
  898. ┃                                          ┃
  899. ┃・k:変更先音高                                  ┃
  900. ┃  kで音程変更先の音高を音階MML(O-1C~O9G,C-1~G9)で指定する。              ┃
  901. ┃  相対数値(-144~+144)で指定した場合は原音高からの半音単位の指定となる。    ┃
  902. ┃                                          ┃
  903. ┃・o:変更開始位置                                  ┃
  904. ┃ 音高変更をデータ先頭から何カウント目から行うかを設定するオフセット値。    ┃
  905. ┃ 設定範囲は0-4294967295。省略時は0が採択される。                  ┃
  906. ┃                                          ┃
  907. ┃・s:変更サイズ                                  ┃
  908. ┃  音高変更を何カウント分行うかを指定する。設定範囲は0-4294967295。            ┃
  909. ┃  省略時は、o以降すべてを変更範囲とする。                      ┃
  910. ┃                                          ┃
  911. ┃例                                          ┃
  912. ┃                                          ┃
  913. ┃  .PITCH O4A,0,1200                                  ┃
  914. ┃  .PITCH -8,80,1200                                  ┃
  915. ┃----------------------------------------------------------------------------┃
  916. ┃●音程の変更(その2)                                  ┃
  917. ┃.TUNE t1,t2,o,s                                  ┃
  918. ┃・t1:1-65535                                      ┃
  919. ┃・t2:1-65535                                      ┃
  920. ┃・o:0-4294967295                                  ┃
  921. ┃・s:0-4294967295                                  ┃
  922. ┃                                          ┃
  923. ┃  音高の変更をサンプリング周波数比で指定する。                  ┃
  924. ┃                                          ┃
  925. ┃・t1:変更元サンプリング周波数                              ┃
  926. ┃・t2:変更先サンプリング周波数                              ┃
  927. ┃  sが変換元のサンプリング周波数、dが変更目的のサンプリング周波数。値の単位は┃
  928. ┃  [Hz]でs,d共に設定範囲は1~65535。                          ┃
  929. ┃                                          ┃
  930. ┃・o:変更開始位置                                  ┃
  931. ┃ 音高変更をデータ先頭から何カウント目から行うかを設定するオフセット値。    ┃
  932. ┃ 設定範囲は0-4294967295。省略時は0が採択される。                  ┃
  933. ┃                                          ┃
  934. ┃・s:変更サイズ                                  ┃
  935. ┃  音高変更を何カウント分行うかを指定する。設定範囲は0-4294967295。          ┃
  936. ┃  省略時は、o以降すべてを変更範囲とする。                      ┃
  937. ┃                                          ┃
  938. ┃例                                          ┃
  939. ┃                                          ┃
  940. ┃  .TUNE 15600,22000,0,1200                              ┃
  941. ┃----------------------------------------------------------------------------┃
  942. ┃●ポルタメント                                  ┃
  943. ┃.PORTAMENT k,o,s                                  ┃
  944. ┃・k:O-1C~O9G,C-1~G9,-144~+144                          ┃
  945. ┃・o:0-4294967295                                  ┃
  946. ┃・s:0-4294967295                                  ┃
  947. ┃                                          ┃
  948. ┃  ポルタメントを行う。                              ┃
  949. ┃                                          ┃
  950. ┃・k:ポルタメント先音高                              ┃
  951. ┃  kでポルタメント先の音高を音階MML(O-1C~O9G,C-1~G9)で指定する。          ┃
  952. ┃  相対数値(-144~+144)で指定した場合は原音高からの半音単位の指定となる。    ┃
  953. ┃                                          ┃
  954. ┃・o:ポルタメント開始位置                              ┃
  955. ┃ ポルタメントをデータ先頭から何カウント目から行うかを設定するオフセット値。┃
  956. ┃ 設定範囲は0-4294967295。省略時は0が採択される。                  ┃
  957. ┃                                          ┃
  958. ┃・s:ポルタメント範囲                                  ┃
  959. ┃  ポルタメントを何カウント内で行うかを指定する。設定範囲は0-4294967295。    ┃
  960. ┃  省略時は、o以降すべてをポルタメント範囲とする。                     ┃
  961. ┃                                          ┃
  962. ┃例                                          ┃
  963. ┃                                          ┃
  964. ┃  .PORTAMENT O4A,0,1200                              ┃
  965. ┃  .PORTAMENT -8,80,1200                              ┃
  966. ┃----------------------------------------------------------------------------┃
  967. ┃●ピッチベンド                                  ┃
  968. ┃.BEND t1,t2,o,s                                  ┃
  969. ┃・t1:1-65535                                      ┃
  970. ┃・t2:1-65535                                      ┃
  971. ┃・o:0-4294967295                                  ┃
  972. ┃・s:0-4294967295                                  ┃
  973. ┃                                          ┃
  974. ┃ ポルタメントをサンプリング周波数次元で実行する。                  ┃
  975. ┃                                          ┃
  976. ┃・t1:ピッチベンド元サンプリング周波数                          ┃
  977. ┃・t2:ピッチベンド先サンプリング周波数                          ┃
  978. ┃  sがピッチベンド元のサンプリング周波数、dがピッチベンド先のサンプリング    ┃
  979. ┃  周波数。値の単位は[Hz]でs,d共に設定範囲は1~65535。                  ┃
  980. ┃                                          ┃
  981. ┃・o:ピッチベンド開始位置                              ┃
  982. ┃ ピッチベンドをデータ先頭から何カウント目から行うかを設定するオフセット値。┃
  983. ┃ 設定範囲は0-4294967295。省略時は0が採択される。                  ┃
  984. ┃                                          ┃
  985. ┃・s:ピッチベンド範囲                                  ┃
  986. ┃  ピッチベンドを何カウント内で行うかを指定する。設定範囲は0-4294967295。    ┃
  987. ┃  省略時は、o以降すべてをピッチベンド範囲とする。                  ┃
  988. ┃                                          ┃
  989. ┃例                                          ┃
  990. ┃                                          ┃
  991. ┃  .BEND O4A,0,1200                                  ┃
  992. ┃  .BEND -8,80,1200                                  ┃
  993. ┃----------------------------------------------------------------------------┃
  994. ┃●音量の変更                                      ┃
  995. ┃.VOLUME v,o,s                                      ┃
  996. ┃・v:0-65535                                      ┃
  997. ┃・o:0-4294967295                                  ┃
  998. ┃・s:0-4294967295                                  ┃
  999. ┃                                          ┃
  1000. ┃  原音量を100とした音量変更を行う。                          ┃
  1001. ┃                                          ┃
  1002. ┃・v:変更先音量                                  ┃
  1003. ┃  原音量を100とし、変更目的の音量vを0-65535の範囲で指定する。              ┃
  1004. ┃  0が無音、65535が最大音量に相当する。                      ┃
  1005. ┃                                          ┃
  1006. ┃・o:変更開始位置                                  ┃
  1007. ┃ 音量変更をデータ先頭から何カウント目から行うかを設定するオフセット値。    ┃
  1008. ┃ 設定範囲は0-4294967295。省略時は0が採択される。                  ┃
  1009. ┃                                          ┃
  1010. ┃・s:変更サイズ                                  ┃
  1011. ┃  音量変更を何カウント分行うかを指定する。設定範囲は0-4294967295。          ┃
  1012. ┃  省略時は、o以降すべてを変更範囲とする。                      ┃
  1013. ┃                                          ┃
  1014. ┃例                                          ┃
  1015. ┃                                          ┃
  1016. ┃  .VOLUME 150,480,1800                              ┃
  1017. ┃----------------------------------------------------------------------------┃
  1018. ┃●反転指定                                      ┃
  1019. ┃.REVERSE o,s                                      ┃
  1020. ┃・o:0-4294967295                                  ┃
  1021. ┃・s:0-4294967295                                  ┃
  1022. ┃                                          ┃
  1023. ┃  逆転を行う。                                  ┃
  1024. ┃                                          ┃
  1025. ┃・o:逆転開始位置                                  ┃
  1026. ┃ 逆転処理をデータ先頭から何カウント目から行うかを設定するオフセット値。    ┃
  1027. ┃ 設定範囲は0-4294967295。省略時は0が採択される。                  ┃
  1028. ┃                                          ┃
  1029. ┃・s:変更サイズ                                  ┃
  1030. ┃  逆転処理を何カウント分行うかを指定する。設定範囲は0-4294967295。          ┃
  1031. ┃  省略時は、o以降すべてを逆転処理する。                      ┃
  1032. ┃                                          ┃
  1033. ┃例                                          ┃
  1034. ┃                                          ┃
  1035. ┃  .REVERSE 0,1800                                  ┃
  1036. ┃----------------------------------------------------------------------------┃
  1037. ┃●フェードイン/フェードアウト                          ┃
  1038. ┃.FADE v1,v2,o,s                                  ┃
  1039. ┃・v1:0-65535                                      ┃
  1040. ┃・v2:0-65535                                      ┃
  1041. ┃・o:0-4294967295                                  ┃
  1042. ┃・s:0-4294967295                                  ┃
  1043. ┃                                          ┃
  1044. ┃  フェードイン/フェードアウトを行う。                      ┃
  1045. ┃                                          ┃
  1046. ┃・v1:変更元音量                                  ┃
  1047. ┃・v2:変更先音量                                  ┃
  1048. ┃  原音量を100とし変化元音量v1から目的音量v2までの音量変化を線形に行う。     ┃
  1049. ┃  v1,v2共に設定範囲は0-65535。0が無音、65535が最大音量に相当する。          ┃
  1050. ┃                                          ┃
  1051. ┃・o:音量操作開始位置                                  ┃
  1052. ┃ 音量操作をデータ先頭から何カウント目から行うかを設定するオフセット値。    ┃
  1053. ┃ 設定範囲は0-4294967295。省略時は0が採択される。                  ┃
  1054. ┃                                          ┃
  1055. ┃・s:音量操作範囲                                  ┃
  1056. ┃  音量操作を何カウント内で行うかを指定する。設定範囲は0-4294967295。          ┃
  1057. ┃  省略時は、o以降すべてをフェード操作範囲とする。                  ┃
  1058. ┃                                          ┃
  1059. ┃例                                          ┃
  1060. ┃                                          ┃
  1061. ┃  .FADE 100,50,480,1800                              ┃
  1062. ┃  (オフセットカウント480から1800カウント内で音量100から50へ変化させる。)    ┃
  1063. ┃----------------------------------------------------------------------------┃
  1064. ┃●ディストーション                                  ┃
  1065. ┃.DISTORTION v,c,o,s                                  ┃
  1066. ┃・v:0-65535                                      ┃
  1067. ┃・c:0-65535                                      ┃
  1068. ┃・o:0-4294967295                                  ┃
  1069. ┃・s:0-4294967295                                  ┃
  1070. ┃                                          ┃
  1071. ┃  ディストーション(歪み)効果を与える。                      ┃
  1072. ┃                                          ┃
  1073. ┃・v:増幅倍率                                      ┃
  1074. ┃  原音量を100とし音量をv倍に増幅する。設定範囲は0-65535。0が無音、65535が   ┃
  1075. ┃  最大増幅に相当する。                              ┃
  1076. ┃                                          ┃
  1077. ┃・c:切り捨て音量レベル                              ┃
  1078. ┃ v倍して出来た波形に対しのピークレベルc内に音量を丸め込む。              ┃
  1079. ┃ 設定範囲は0-65535。                                  ┃
  1080. ┃                                          ┃
  1081. ┃・o:ディストーション操作開始位置                          ┃
  1082. ┃ ディストーション操作をデータ先頭から何カウント目から行うかを設定する      ┃
  1083. ┃ オフセット値。設定範囲は0-4294967295。省略時は0が採択される。          ┃
  1084. ┃                                          ┃
  1085. ┃・s:ディストーション効果適用範囲                          ┃
  1086. ┃  ディストーション操作を何カウント行うかを指定する。設定範囲は0-4294967295。┃
  1087. ┃  省略時は、o以降すべてをディストーション操作範囲とする。                 ┃
  1088. ┃                                          ┃
  1089. ┃例                                          ┃
  1090. ┃                                          ┃
  1091. ┃  .DISTORTION 500,100,480,1800                          ┃
  1092. ┃  (オフセットカウント480から1800カウント内でディストーション処理を行う。    ┃
  1093. ┃   音量を500%に増幅したものを音量100に丸め込む。)                  ┃
  1094. ┃----------------------------------------------------------------------------┃
  1095. ┃●スムージング                                  ┃
  1096. ┃.SMOOTH r,o,s                                      ┃
  1097. ┃・r:1-65535                                      ┃
  1098. ┃・o:0-4294967295                                  ┃
  1099. ┃・s:0-4294967295                                  ┃
  1100. ┃                                          ┃
  1101. ┃  スムージング(平滑化)を行う。処理後の音はやや曇った感じになる。          ┃
  1102. ┃                                          ┃
  1103. ┃・r:平滑化処理回数                                  ┃
  1104. ┃  平滑化を連続何回行うかを設定する。設定範囲は1-65535。              ┃
  1105. ┃                                          ┃
  1106. ┃・o:スムージング操作開始位置                              ┃
  1107. ┃ スムージング操作をデータ先頭から何カウント目から行うかを設定する           ┃
  1108. ┃ オフセット値。設定範囲は0-4294967295。省略時は0が採択される。          ┃
  1109. ┃                                          ┃
  1110. ┃・s:スムージング効果適用範囲                               ┃
  1111. ┃  スムージング操作を何カウント行うかを指定する。設定範囲は0-4294967295。    ┃
  1112. ┃  省略時は、o以降すべてをスムージング操作範囲とする。                     ┃
  1113. ┃                                          ┃
  1114. ┃例                                          ┃
  1115. ┃                                          ┃
  1116. ┃  .SMOOTH 10,480,1800                                  ┃
  1117. ┃  (オフセットカウント480から1800カウント内でスムージング処理を10回行う)     ┃
  1118. ┃----------------------------------------------------------------------------┃
  1119. ┃●切り出し                                      ┃
  1120. ┃.TRUNCATE o,s                                      ┃
  1121. ┃・o:0-4294967295                                  ┃
  1122. ┃・s:0-4294967295                                  ┃
  1123. ┃                                          ┃
  1124. ┃  指定した領域を切り出す。                              ┃
  1125. ┃                                          ┃
  1126. ┃・o:切り出し開始位置                                  ┃
  1127. ┃ 切り出し操作をデータ先頭から何カウント目から行うかを設定するオフセット値。┃
  1128. ┃ 設定範囲は0-4294967295。省略時は0が採択される。                  ┃
  1129. ┃                                          ┃
  1130. ┃・s:切り出しサイズ                                  ┃
  1131. ┃  切り出しサイズを何カウントにするかを指定する。設定範囲は0-4294967295。    ┃
  1132. ┃  省略時は、o以降すべてを切り出す指定になる。                      ┃
  1133. ┃                                          ┃
  1134. ┃例                                          ┃
  1135. ┃                                          ┃
  1136. ┃  .TRUNCATE 1200    (オフセットカウント1200以降を切り出す)              ┃
  1137. ┃  .TRUNCATE ,1200    (先頭から1200カウント切り出す)                  ┃
  1138. ┃----------------------------------------------------------------------------┃
  1139. ┃●削除                                      ┃
  1140. ┃.DELETE o,s                                      ┃
  1141. ┃・o:0-4294967295                                  ┃
  1142. ┃・s:0-4294967295                                  ┃
  1143. ┃                                          ┃
  1144. ┃  指定した領域を削除する。                              ┃
  1145. ┃                                          ┃
  1146. ┃・o:削除開始位置                                  ┃
  1147. ┃ 削除をデータ先頭から何カウント目から行うかを設定するオフセット値。          ┃
  1148. ┃ 設定範囲は0-4294967295。省略時は0が採択される。                  ┃
  1149. ┃                                          ┃
  1150. ┃・s:削除サイズ                                  ┃
  1151. ┃  削除を何カウント行うかを指定する。設定範囲は0-4294967295。              ┃
  1152. ┃  省略時は、o以降すべてを削除する指定になる。                      ┃
  1153. ┃                                          ┃
  1154. ┃例                                          ┃
  1155. ┃                                          ┃
  1156. ┃  .DELETE 1200    (オフセットカウント1200以降を削除する)              ┃
  1157. ┃  .DELETE ,1200    (先頭から1200カウント削除する)                  ┃
  1158. ┃----------------------------------------------------------------------------┃
  1159. ┃●合成                                      ┃
  1160. ┃.MIX filename,o                                  ┃
  1161. ┃(.MIX filename,o,PPC)                                  ┃
  1162. ┃・filename:文字列                                  ┃
  1163. ┃・o:-2147483648~2147483647                              ┃
  1164. ┃                                          ┃
  1165. ┃  filenameで表されるADPCM/PCMデータを合成する                      ┃
  1166. ┃                                          ┃
  1167. ┃・filename:合成データ名                              ┃
  1168. ┃ 合成するADPCM/PCMデータのファイル名を設定する。拡張子の省略は不可。          ┃
  1169. ┃  また、filenameを合成するファイルの名前でなく、                  ┃
  1170. ┃                                          ┃
  1171. ┃    .TIMBRE b,t                                  ┃
  1172. ┃    .TONE   b,t                                  ┃
  1173. ┃                                          ┃
  1174. ┃  といった書式で指定すれば、以前に、PCMデータの登録コマンドで登録した     ┃
  1175. ┃  音色/トーンのコピーを合成することもできる。                              ┃
  1176. ┃  「.TIMBRE b,t」書式では、bがバンク番号(0-255)、tが音色番号(1-128)を、     ┃
  1177. ┃  「.TONE b,n」書式では、bがバンク番号(0-255)、nがトーン番号(0-127)を表す。 ┃
  1178. ┃  nはO-1C~O9G または C-1~G9といった音階MMLで指定することもできる。          ┃
  1179. ┃                                          ┃
  1180. ┃・o:合成開始位置                                  ┃
  1181. ┃ 合成操作を被合成データの先頭から何カウント目から行うかを設定する          ┃
  1182. ┃ オフセット値。設定範囲は-2147483648~2147483647。負値を設定した場合は     ┃
  1183. ┃  その絶対値カウント分、合成データの方を先行させて合成する。              ┃
  1184. ┃  省略時は0が採択される。                              ┃
  1185. ┃                                          ┃
  1186. ┃例                                          ┃
  1187. ┃                                          ┃
  1188. ┃  .MIX CYMBAL.P16,-1200                              ┃
  1189. ┃  .MIX .TONE 4,O3D,4800                              ┃
  1190. ┃                                          ┃
  1191. ┃ なお、PPC「.MIX」はその他のPPCと違い(...)で括れば.MIX自体もPPCを局所的に  ┃
  1192. ┃設定することができる。                              ┃
  1193. ┃                                          ┃
  1194. ┃例                                          ┃
  1195. ┃                                          ┃
  1196. ┃  (.MIX .TIMBRE 10,10,1000,.VOLUME 150,.PITCH -8)                  ┃
  1197. ┃                                          ┃
  1198. ┃    (後続の「V120」「P-8」は合成するデータに対して有効となる。          ┃
  1199. ┃     つまりこの例では、TIMBRE 10,10の音量を150%化、8半音分の音程を下げた    ┃
  1200. ┃     ものを被合成データ先頭から1000カウント後の位置から合成する設定となる。)┃
  1201. ┃----------------------------------------------------------------------------┃
  1202. ┃●接合                                      ┃
  1203. ┃.CONNECT filename,o                                  ┃
  1204. ┃(.CONNECT filename,o,PPC)                              ┃
  1205. ┃・filename:文字列                                  ┃
  1206. ┃・o:0-4294967295                                  ┃
  1207. ┃                                          ┃
  1208. ┃  filenameで表されるADPCM/PCMデータを接合する。                  ┃
  1209. ┃                                          ┃
  1210. ┃・filename:接合データ名称                              ┃
  1211. ┃ 接合するADPCM/PCMデータのファイル名を設定する。拡張子の省略は不可。          ┃
  1212. ┃  また、filenameを接合するファイルの名前でなく、                  ┃
  1213. ┃                                          ┃
  1214. ┃    .TIMBRE b,t                                  ┃
  1215. ┃    .TONE   b,t                                  ┃
  1216. ┃                                          ┃
  1217. ┃  といった書式で指定すれば、以前に、PCMデータの登録コマンドで登録した     ┃
  1218. ┃  音色/トーンのコピーを接合することもできる。                           ┃
  1219. ┃  「.TIMBRE b,t」書式では、bがバンク番号(0-255)、tが音色番号(1-128)を、     ┃
  1220. ┃  「.TONE b,n」書式では、bがバンク番号(0-255)、nがトーン番号(0-127)を表す。 ┃
  1221. ┃  nはO-1C~O9G または C-1~G9といった音階MMLで指定することもできる。          ┃
  1222. ┃                                          ┃
  1223. ┃・o:接合開始位置                                  ┃
  1224. ┃ 接合操作を被接合データの先頭から何カウント目から行うかを設定する          ┃
  1225. ┃ オフセット値。設定範囲は0-4294967295。                      ┃
  1226. ┃  省略時は被接合データの再後尾位置が採択される。                  ┃
  1227. ┃  PPC「.LOOP」が未設定の場合は接続したデータを無限ループさせるような設定を  ┃
  1228. ┃  デフォルトで行う。                                  ┃
  1229. ┃                                          ┃
  1230. ┃例                                          ┃
  1231. ┃                                          ┃
  1232. ┃  .CONNECT CYMBAL.P16,-1200                              ┃
  1233. ┃  .CONNECT .TONE 4,O3D,4800                              ┃
  1234. ┃                                          ┃
  1235. ┃ なお、PPC「.CONNECT」はその他のPPCと違い(...)で括れば.CONNECT自体もPPCを  ┃
  1236. ┃局所的に設定することができる。                          ┃
  1237. ┃                                          ┃
  1238. ┃例                                          ┃
  1239. ┃                                          ┃
  1240. ┃  (.CONNECT .TIMBRE 10,10.VOLUME 150, .PITCH -8)                  ┃
  1241. ┃                                          ┃
  1242. ┃    (後続の「V120」「P-8」は合成するデータに対して有効となる。          ┃
  1243. ┃     つまりこの例では、TIMBRE 10,10の音量を150%化、8半音分の音程を下げた    ┃
  1244. ┃     ものを被合成データの後に接合する設定となる。)                  ┃
  1245. ┃----------------------------------------------------------------------------┃
  1246. ┃●ループ領域の設定                                  ┃
  1247. ┃.LOOP t,r,o,s                                      ┃
  1248. ┃・t:0                                          ┃
  1249. ┃・r:0-4294967295                                  ┃
  1250. ┃・o:0-4294967295                                  ┃
  1251. ┃・s:0-4294967295                                  ┃
  1252. ┃                                          ┃
  1253. ┃  ループ領域を設定する。                              ┃
  1254. ┃                                          ┃
  1255. ┃・t:ループタイプ                                  ┃
  1256. ┃  ループの仕方を設定する。現在のところ設定出来るのは0の順方向(FORWARD)のみ。┃
  1257. ┃                                          ┃
  1258. ┃・r:繰り返し回数                                  ┃
  1259. ┃  ループ領域を何回繰り返して再生するかを設定する。0は半永久的に、発音が     ┃
  1260. ┃ 終了するまで繰り返し続ける設定となる。1~4294967296はその数の回数分      ┃
  1261. ┃ 繰り返しを行い、ループ領域外の再生に移る。                      ┃
  1262. ┃                                          ┃
  1263. ┃・o:ループ開始位置                                  ┃
  1264. ┃ ループ開始ポイントをデータ先頭から何カウント目に設定するかのオフセット値。┃
  1265. ┃ 設定範囲は0-4294967295。省略時は0が採択される。                  ┃
  1266. ┃                                          ┃
  1267. ┃・s:ループサイズ                                  ┃
  1268. ┃  ループ領域のサイズを何カウントにするかを指定する。設定範囲は0-4294967295。┃
  1269. ┃  省略時は、o以降すべてをループ領域と設定する指定になる。              ┃
  1270. ┃                                          ┃
  1271. ┃例                                          ┃
  1272. ┃                                          ┃
  1273. ┃  .LOOP 0,10,480,4000    (オフセットカウント480から4000カウント分を順方向に    ┃
  1274. ┃             10回繰り返し再生する。)                  ┃
  1275. ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  1276. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  1277. ┃            TIMBREとTONEの違い                      ┃
  1278. ┃                                          ┃
  1279. ┃  ZMUSIC Ver.2.0ではADPCMデータの利用方と言えば、0-127個の鍵盤に1音1音割り  ┃
  1280. ┃                                          ┃
  1281. ┃当てて利用する、ドラムマシンのような使い方しかありませんでした。この方法は  ┃
  1282. ┃                                          ┃
  1283. ┃ドラムパートやパーカッションパートには向いた使用方法でしたが、1つの楽器で   ┃
  1284. ┃                                          ┃
  1285. ┃メロディを演奏する時には、使用する音高の全音を個別に鍵盤毎に登録する必要が  ┃
  1286. ┃                                          ┃
  1287. ┃あり、非常に面倒な上、ZPDが肥大化するという問題がありました。              ┃
  1288. ┃                                          ┃
  1289. ┃  そこでVer.3.0からは1音を原音程とともに登録すれば、希望の音高をZMUSIC(MPCM)┃
  1290. ┃                                          ┃
  1291. ┃側でリアルタイムに自動的に演奏してくれるモードが新設されました。       ┃
  1292. ┃                                          ┃
  1293. ┃ Ver.2.0からのドラムマシン的なADPCM利用方法をTONEモード、そしてVer.3.0から ┃
  1294. ┃                                          ┃
  1295. ┃新設されたモードをTIMBREモード呼びます。                      ┃
  1296. ┃                                          ┃
  1297. ┃  TONEモードでは1-256の256個の音色番号(Ver2.0では1~4の4個まで)があり、     ┃
  1298. ┃                                          ┃
  1299. ┃その1つ1つの音色番号に対して0-127の128個のノート毎に任意のADPCM/PCMデータを ┃
  1300. ┃                                          ┃
  1301. ┃割り当てることが可能です。                              ┃
  1302. ┃                                          ┃
  1303. ┃  TIMBREモードではバンクが0-255の256バンク、音色番号1-128の128個のうちの任意┃
  1304. ┃                                          ┃
  1305. ┃の音色番号に割り当てることが出来ます。                      ┃
  1306. ┃                                          ┃
  1307. ┃  TIMBRE,TONE共に登録出来るPCMデータ数は最大256x128=32768となります。       ┃
  1308. ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  1309. ----------------------------------------
  1310. ●登録したPCM音色の削除
  1311. .ERASE_TIMBRE b,t
  1312. ・b:0-255
  1313. ・t:1-128
  1314.  
  1315.  登録済みのPCM音色のうち不要なものを削除する。
  1316.  
  1317.   パラメータb,tはPCM音色登録コマンドの同名パラメータと同じ書式。
  1318.  
  1319.  bはバンク番号で0-255、tは音色番号で1-128の値を取る。
  1320.  
  1321. (MEASURE6参照)
  1322.  
  1323.  
  1324.   .16BITPCM_TIMBRE 2,10,O2C,BASS  {SLAP.P16,.VOLUME 120}
  1325.   .ERASE_TIMBRE 2,10
  1326. ----------------------------------------
  1327. ●登録したPCMトーンの削除
  1328. .ERASE_TONE t,k
  1329. ・t:1-256
  1330. ・k:0-127 あるいは O-1C~O9G または C-1~G9
  1331.  
  1332.  登録済みのPCMトーンのうち不要なものを削除する。
  1333.  
  1334.   パラメータt,kはPCMトーン登録コマンドの同名パラメータと同じ書式。
  1335.  
  1336.  tはトーンセット番号で1-256、kはノート番号で0-127、あるいは音階MMLを用いて
  1337.  
  1338. O-1C~O9G または C-1~G9のような指定も可能。。
  1339.  
  1340. (MEASURE6参照)
  1341.  
  1342.  
  1343.   .ADPCM_TONE 10,o2d,SNARE {.TIMBRE 0,10,.BEND 15600,22000}
  1344.   .ERASE_TONE 10,o2d
  1345. ----------------------------------------
  1346. ●ADPCMデータ定義ファイルの読み込み
  1347. .ADPCM_LIST filename
  1348. .CNF filename
  1349. ・filename:文字列
  1350.  
  1351.   filenameで指定したADPCMデータの定義ファイル(CNFファイル)を読み込み
  1352.  
  1353. 実行する。filenameで与えるファイルネームは拡張子が省略可能。省略時は
  1354.  
  1355. .CNFが自動添付され処理される。
  1356.  
  1357. (MEASURE3 zm_exec_subfile(), MEASURE6参照)
  1358.  
  1359.  
  1360.  .ADPCM_LIST orchestra.cnf
  1361.   .ADPCM_LIST standard        (standard.CNFが読み込まれる)
  1362. ----------------------------------------
  1363. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  1364. ┃            CNFファイル、ZPDファイルとは                  ┃
  1365. ┃                                          ┃
  1366. ┃  ADPCMデータ登録/削除を行う共通コマンドのみを記述したZMSを特にCNFファイル ┃
  1367. ┃                                          ┃
  1368. ┃とよんでいます。CNFファイルはZMUSICシステムに含まれる標準PCMファイルコンバー┃
  1369. ┃                                          ┃
  1370. ┃タZPCNV3.RでコンバートするとZPDファイルに変換することが出来ます。          ┃
  1371. ┃                                          ┃
  1372. ┃  CNFファイルに用いることの出来る共通コマンドは以下の通りです。          ┃
  1373. ┃                                          ┃
  1374. ┃.16BITPCM_TIMBRE,.16BITPCM_TONE,.8BITPCM_TIMBRE,.8BITPCM_TONE,          ┃
  1375. ┃.ADPCM_TIMBRE,.ADPCM_TONE,.ADPCM_BANK,.ERASE_TIMBRE,.ERASE_TONE,.ERASE      ┃
  1376. ┃                                          ┃
  1377. ┃  CNFファイル中に指定されたADPCMデータに対する加工処理等をあらかじめ行い  ┃
  1378. ┃                                          ┃
  1379. ┃結果を1つのファイルにまとめたものをZPDファイルと呼びます。このためZPDファイ ┃
  1380. ┃                                          ┃
  1381. ┃ルはCNFファイルに比べて実際のADPCMデータ登録を高速にまとめて行うことが出来  ┃
  1382. ┃                                          ┃
  1383. ┃ます。                                      ┃
  1384. ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  1385. ----------------------------------------
  1386. ●ZPDの読み込み
  1387. .ADPCM_BLOCK_DATA filename
  1388. .ZPD filename
  1389. ・filename:文字列
  1390.  
  1391.   filenameで指定されたZPDファイルの読み込みを行う。
  1392.  
  1393.  filenameの拡張子は省略が可能で、省略時は'.ZPD'が自動添付される。
  1394.  
  1395. (MEASURE3 zm_register_zpd(),MEASURE6参照)
  1396.  
  1397.  
  1398.   .ADPCM_BLOCK_DATA SFX.ZPD
  1399.   .ZPD  JAZZ_DRUM            (JAZZ_DRUM.ZPDが読み込まれる)
  1400. ----------------------------------------
  1401. ■Ver.2.0式ADPCMデータ登録
  1402. ----------------------------------------
  1403. ●ADPCMデータ登録先バンクの設定
  1404. .ADPCM_BANK n
  1405.  
  1406.   ADPCM音の登録先のバンクを指定する。
  1407.  
  1408.   n=バンク番号。1≦n≦4。
  1409.  
  1410.   初期化共通コマンド'(I)'命令でデフォルト値1が設定される
  1411.  
  1412. (MEASURE6参照)
  1413. ----------------------------------------
  1414. ●Ver.2.0式ADPCMデータ登録
  1415. n filename,PPC
  1416. n=filename,PPC
  1417. .Ook filename,PPC
  1418. .Ook=filename,PPC
  1419. ・n:0-32767
  1420. ・Ook:O-1C~O9G
  1421. ・filename:文字列
  1422. ・PPC:後述
  1423.  
  1424.   ADPCMデータの加工/登録を行う。
  1425.  
  1426. filenameで指定されたADPCMファイルをトーン番号n、または.Ookで表す
  1427.  
  1428. ノートに登録する。
  1429.  
  1430. PPC(PCM PROCESSING COMMAND)が指定してあればこれを実行し加工を施した
  1431.  
  1432. ADPCMデータをnへ登録する。PPCは省略、あるいは複数設定可能。
  1433.  
  1434.   なおnの設定範囲は0-32767となる。n(0-32767)による指定は.ADPCM_BANKの
  1435.  
  1436. 設定を無視して絶対的に行われる。
  1437.  
  1438.   .Ookの指定はオクターブ値をo、音階kを文字列であらわす、MML形式で
  1439.  
  1440. 指定する。なお、oの設定範囲は-1~9、kはC,C#,D,D#,E,F,F#,G,G#,A,A#,B
  1441.  
  1442. のうちいずれか。
  1443.  
  1444.   PPCはADPCMデータを加工するコマンドで、以下のようなものがある。
  1445.  
  1446. ZMUSIC Ver.2.0以前では各PPCの設定順序が無視されたが、Ver.3.0以降では
  1447.  
  1448. 指定された順序に従い加工を実行していく。また、同種PPCの複数設定も可能。
  1449.  
  1450. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  1451. ┃                V2形式のPPC                      ┃
  1452. ┃                                          ┃
  1453. ┃・Pp                                          ┃
  1454. ┃  ±1オクターブの範囲で音程変更を行う。変更幅は半音単位でpにて行う。        ┃
  1455. ┃ pの設定範囲は-12~+12。                                                   ┃
  1456. ┃                                          ┃
  1457. ┃・Vv                                          ┃
  1458. ┃ 原音量を100とした音量の増減をvで指定する。vの設定範囲は0-65535。          ┃
  1459. ┃  数値が大きければ大きいほど音量が大きくなり、100より小さければ          ┃
  1460. ┃ 元の音量よりも小さくなる。                              ┃
  1461. ┃                                          ┃
  1462. ┃・Mm,d                                      ┃
  1463. ┃  トーン番号mのトーンと今回トーン番号nで登録するトーンとを合成する。          ┃
  1464. ┃  その際、トーンnよりもPCMデータdカウント分送らせて合成させることが         ┃
  1465. ┃  出来る。mの設定範囲は0-32767。dはトーンの先頭からのオフセット値で          ┃
  1466. ┃  設定範囲は0-4294967295。                              ┃
  1467. ┃                                          ┃
  1468. ┃・Cc,s                                      ┃
  1469. ┃ 指定位置cから指定サイズsを切り出す。                      ┃
  1470. ┃ cはトーンの先頭アドレスからのオフセット値で設定範囲は0-4294967295。       ┃
  1471. ┃  sは切り出すサイズで設定範囲は0-4294967295。                      ┃
  1472. ┃                                          ┃
  1473. ┃・R                                          ┃
  1474. ┃ 再生方向を逆転させる処理を行う。                          ┃
  1475. ┃                                          ┃
  1476. ┃・Ff,l                                      ┃
  1477. ┃ フェードインまたはフェードアウトを行う。                                  ┃
  1478. ┃ フェードインはオフセットを負値で与えることによって選択される。          ┃
  1479. ┃  初期音量lから始まり、先頭からオフセット-fカウントの時点で原音量に          ┃
  1480. ┃  なるような音量変化になる。                              ┃
  1481. ┃ フェードアウトはオフセットを正値で与えることで選択される。              ┃
  1482. ┃  初め、原音量から演奏が始まり、最後尾からオフセットfカウントの             ┃
  1483. ┃  時点から徐々に音量が下がり始め最終的には音量lに落ち着く。              ┃
  1484. ┃ fの設定範囲は-2147483648~2147483647。lの設定範囲は0-127。                ┃
  1485. ┃  lは0が無音、127が原音量より微妙に小さい音量に相当する。              ┃
  1486. ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  1487.  
  1488.   filenameを、読み込むファイルの名前でなく、数値(0-32767)や音階MML(O-1C~O9G
  1489.  
  1490. またはC-1~G9)を設定した場合は、ディスクからADPCMデータを読み出すのではなく
  1491.  
  1492. 以前に同種のADPCM加工/登録コマンドを用いて登録したトーンのコピーを用いて
  1493.  
  1494. 加工登録することになる。
  1495.  
  1496.   登録先ノートやミキシングノートをOok書式で指定する場合、.ADPCM_BANKの設定による
  1497.  
  1498. バンク番号が考慮される。
  1499.  
  1500. (MEASURE6参照)
  1501.  
  1502.  
  1503.   12 SNARE.PCM,P3,V150,M13,120,C0,1200,R,F-600,40
  1504.  
  1505.   (SNARE.PCMの音程を3半音上に、音量を150%に増加させ、
  1506.    ディレイカウント120でトーン13を合成、
  1507.   オフセット0カウントから1200カウント分を切り出し、
  1508.   これを反転再生に設定、
  1509.    オフセットカウント600まで音量40%からフェードインさせる。
  1510.   以上の加工処理を行ってトーン番号12へ登録する)
  1511.  
  1512.   SNARE.PCMの部分をたとえば14に変更したとすると
  1513.  
  1514.   12 14,P3,V150,M13,120,C0,1200,R,F-600,40
  1515.  
  1516.  加工登録対象を外部デバイスから読み込まず、登録済みの
  1517.   トーン番号14のデータを加工登録対象とする設定になる。
  1518.  
  1519.   .ADPCM_BANK 3
  1520.   .O4C CYMBAL.PCM,V130,MO3D
  1521.   音量を150%上げたCYMBAL.PCMとバンク番号3のオクターブ3のDのトーンとを合成し
  1522.   これをバンク番号3のオクターブ4のCのノートに登録する。
  1523. ----------------------------------------
  1524. ●登録したADPCMデータの削除
  1525. .ERASE n
  1526. .ERASE .Ook    (.Oの'.'はあってもなくてもいい)
  1527. ・n:0-32767
  1528. ・Ook:O-1C~O9G
  1529.  
  1530.  登録済みのADPCMトーンのうち不要なものを削除する。
  1531.  
  1532.   パラメータnやOokはADPCM登録コマンドの同名パラメータと同じ書式。
  1533.  
  1534.   Ook書式は.ADPCM_BANKの設定によるバンク番号が考慮される。
  1535.  
  1536. (MEASURE6参照)
  1537.  
  1538.  
  1539.   .ADPCM_BANK 3
  1540.   .ERASE O4C        (バンク番号3のオクターブ4のCのトーンを削除する)
  1541. ----------------------------------------
  1542. ■外部ファイル読み込み
  1543. ----------------------------------------
  1544. ●外部ファイル読み込み
  1545. .CALL filename
  1546. ・filename:文字列
  1547.  
  1548.   filenameで指定したファイルを演奏時に読み込み実行する。filenameで指定出来る
  1549.  
  1550. ファイルはZPD,CNF,ZMD,ZMS(ZMC),MID,MDDで、拡張子の省略は出来ない。
  1551.  
  1552.  後述の.INCLUDEとの違いはファイルの実行のされ方。.CALLでは演奏時に
  1553.  
  1554. 読み込んだファイル種別に応じて実行する。たとえばZPDファイルならばZPDを組み込み
  1555.  
  1556. MIDならばMIDIポートへ出力する。
  1557.  
  1558.   一方、.INCLUDEは読み込んだファイルをZMSとしてその場でコンパイルしZMD化する。
  1559.  
  1560.  
  1561.   .CALL CM64TIMBRE.MID
  1562. ----------------------------------------
  1563. ●ZMSファイル読み込み
  1564. .INCLUDE filename
  1565. ・filename:文字列
  1566.  
  1567.   filenameで指定したファイルを読み込み、ZMSとしてコンパイルする。
  1568.  
  1569. filenameで指定出来るファイルはZMS(ZMC),CNFで、拡張子省略時は'ZMC'が自動添付
  1570.  
  1571. される。
  1572.  
  1573.   前述の.CALLとの違いはファイルの実行のされ方。.CALLでは演奏時に
  1574.  
  1575. 読み込んだファイル種別に応じて実行する。たとえばZPDファイルならばZPDを組み込み
  1576.  
  1577. MIDならばMIDIポートへ出力する。
  1578.  
  1579.   一方、.INCLUDEは読み込んだファイルをZMSとしてその場でコンパイルしてZMD化する。
  1580.  
  1581.  
  1582.   .INCLUDE FMTONE.ZMS
  1583. ----------------------------------------
  1584. ■入出力MIDIポート選択
  1585. ----------------------------------------
  1586. ●カレントMIDI入力ポート選択
  1587. .CURRENT_MIDI_IN if
  1588. ・if:1-4
  1589.  
  1590.  MIDI入力を行う際のデフォルトインターフェースを選択する。MIDI入出力関連命令の
  1591.  
  1592. ほぼすべてに送受対象インターフェースを指定出来るようになっているが、この指定
  1593.  
  1594. を省略した場合やVer.2.0 ZMSコマンドなどの一部の送受対象インターフェースを指定
  1595.  
  1596. 出来ない命令を使用した時に、本命令によって設定されたインターフェースが
  1597.  
  1598. デフォルトとして選択される。ZMUSIC Ver.3.0では.CURRENT_MIDI_INで設定した
  1599.  
  1600. インターフェースをカレントMIDI-INインターフェースと呼ぶ。
  1601.  
  1602.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  1603.  
  1604.  
  1605.   .CURRENT_MIDI_IN 3
  1606.  
  1607. (MEASURE3 zm_current_midi_in()参照)
  1608. ----------------------------------------
  1609. ●カレントMIDI出力ポート選択
  1610. .CURRENT_MIDI_OUT if
  1611. ・if:1-4
  1612.  
  1613.  MIDI出力入力を行う際のデフォルトインターフェースを選択する。MIDI入出力関連命令の
  1614.  
  1615. ほぼすべてに送受対象インターフェースを指定出来るようになっているが、この指定
  1616.  
  1617. を省略した場合やVer.2.0 ZMSコマンドなどの一部の送受対象インターフェースを指定
  1618.  
  1619. 出来ない命令を使用した時に、本命令によって設定されたインターフェースが
  1620.  
  1621. デフォルトとして選択される。ZMUSIC Ver.3.0では.CURRENT_MIDI_OUTで設定した
  1622.  
  1623. インターフェースをカレントMIDI-OUTインターフェースと呼ぶ。
  1624.  
  1625.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  1626.  
  1627.  
  1628.   .CURRENT_MIDI_OUT 3
  1629.  
  1630. (MEASURE3 zm_current_midi_out()参照)
  1631. ----------------------------------------
  1632. ■MIDIデータ出力
  1633. ----------------------------------------
  1634. ●MIDIデータ出力
  1635. (Xn1,n2,…,ni)                  *
  1636. ・n1~ni:0-255
  1637.  
  1638.   .current_midi_outで選択したMIDIポートへデータn1~niを送信する。
  1639.  
  1640. データn1~niの有効範囲は0~255。256以上のデータも与えることができるが
  1641.  
  1642. その場合はその値を7ビットごとに分けて下位から送信する。たとえば8192は$2000だが
  1643.  
  1644. 7ビットごとに分割するので$40,$00となる。これを下位から送信するので実際には
  1645.  
  1646. $00,$40の順番でMIDI送信される。同様に32700は$3C,$7F,$01のように送信される。
  1647.  
  1648.  
  1649.   (X $b0,$79,$00)
  1650.  
  1651. (MEASURE3 zm_midi_transmission()参照)
  1652. ----------------------------------------
  1653. ●MIDIデータ出力
  1654. .MIDI_DATA if,comment  {n1,n2,…ni}               *
  1655. ・if:1-4
  1656. ・comment:文字列
  1657.  
  1658.   MIDIポートifへデータn1~niを送信する。データn1~niの有効範囲は0~255。
  1659.  
  1660. 256以上のデータも与えることができるがその場合はその値を7ビットごとに分けて
  1661.  
  1662. 下位から送信する。
  1663.  
  1664.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  1665.  
  1666. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  1667.  
  1668.   commentは注釈で、'{'以外の255文字を用いて与えることが出来る。
  1669.  
  1670. commentは省略可能。
  1671.  
  1672.  
  1673.   .MIDI_DATA 2,PANPOT_CH1 {$b0,$0a,64}
  1674.  
  1675. (MEASURE3 zm_midi_transmission()参照)
  1676. ----------------------------------------
  1677. ●エクスクルーシブ・メッセージ送信
  1678. .EXCLUSIVE if,comment {n1,n2,…,ni}               *
  1679. ・if:1-4
  1680. ・comment:文字列
  1681.  
  1682.   MIDIポートifへデータn1~niをエクスクルーシブメッセージとしてMIDI送信する。
  1683.  
  1684.   データn1~niの有効範囲は0~127。128以上のデータも与えることができるが
  1685.  
  1686. その場合はその値を7ビットごとに分けて下位から送信する。
  1687.  
  1688.  
  1689.   255→$01,$7F
  1690.   8192→$00,$40
  1691.   32700→$3C,$7F,$01
  1692.  
  1693.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  1694.  
  1695. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  1696.  
  1697.   commentは注釈で、'{'以外の255文字を用いて与えることが出来る。
  1698.  
  1699. commentは省略可能。
  1700.  
  1701.  
  1702.   .EXCLUSIVE 2,GM_ON {$7e,$7f,$09,$01}
  1703.  
  1704. (MEASURE3 zm_exclusive()参照)
  1705. ----------------------------------------
  1706. ●ローランド・エクスクルーシブ・メッセージ送信
  1707. .ROLAND_EXCLUSIVE dev,mdl,if,comment {n1,n2,…,ni}        *
  1708. ・dev:0-127
  1709. ・mdl:0-127
  1710. ・if:1-4
  1711. ・comment:文字列
  1712.  
  1713.   ローランド製のMIDI機器へエクスクルーシブメッセージを送信する。
  1714.  
  1715.   エクスクルーシブ・ヘッダやチェックサム・バイトは送信メッセージ内容から
  1716.  
  1717. 自動算出し自動送信する。
  1718.  
  1719.  なお、送信の際、使用するローランド・エクスクルーシブ・コマンドはDT1($12)。
  1720.  
  1721. ・dev:デバイスID
  1722.  同一機器間で区別をするためのID。通常は$10とすることが多い。
  1723.  
  1724. ・mdl:モデルID
  1725.  ローランドが同社製品に対して固有に与えた識別ID。たとえばGS音源は$42が
  1726.  与えられている。
  1727.  
  1728. ・if:
  1729.   送信を行うifを設定する。設定範囲は1-4。MIDIインターフェースの個数が
  1730.   少ない場合は4より小さくなる。ifを省略した場合は.current_midi_outで
  1731.   選択したカレントMIDIポートへ出力される。
  1732.  
  1733. ・comment:コメント
  1734.  '{'以外の255文字を用いて送信内容に関する注釈を与えることが出来る。
  1735.   省略可能。
  1736.  
  1737. ・n1~ni:エクスクルーシブデータ
  1738.   送信するエクスクルーシブデータを与える。有効範囲は0≦ni≦127。128以上は
  1739.   その値を7ビットごとに分けて下位から送信する。
  1740.  
  1741.  
  1742.  .ROLAND_EXCLUSIVE $10,$42,0,MASTERVOLUME=100 {$40,$00,$04$,$64}
  1743.  
  1744. (MEASURE3 zm_exclusive()参照)
  1745. ----------------------------------------
  1746. ●ヤマハ・エクスクルーシブ・メッセージ送信
  1747. .YAMAHA_EXCLUSIVE dev,mdl,if,comment {n1,n2,…,ni}        *
  1748. ・dev:0-127
  1749. ・mdl:0-127
  1750. ・if:1-4
  1751. ・comment:文字列
  1752.  
  1753.   ヤマハ製のMIDI機器へエクスクルーシブメッセージを送信する。
  1754.  
  1755.   エクスクルーシブ・ヘッダや転送バイト数、チェックサム・バイトは送信メッセージ
  1756.  
  1757. 内容から自動算出し自動送信する。
  1758.  
  1759.  なお、送信の際、使用するヤマハ・エクスクルーシブ・タイプはバルク・ダンプ。
  1760.  
  1761. ・dev:デバイスID
  1762.  同一機器間で区別をするためのID。通常は$00とすることが多い。
  1763.  
  1764. ・mdl:モデルID
  1765.  ヤマハが同社製品に対して固有に与えた識別ID。たとえばXG音源は$4cが
  1766.  与えられている。
  1767.  
  1768. ・if:
  1769.   送信を行うifを設定する。設定範囲は1-4。MIDIインターフェースの個数が
  1770.   少ない場合は4より小さくなる。ifを省略した場合は.current_midi_outで
  1771.   選択したカレントMIDIポートへ出力される。
  1772.  
  1773. ・comment:コメント
  1774.  '{'以外の255文字を用いて送信内容に関する注釈を与えることが出来る。
  1775.   省略可能。
  1776.  
  1777. ・n1~ni:エクスクルーシブデータ
  1778.   送信するエクスクルーシブデータを与える。有効範囲は0≦ni≦127。128以上は
  1779.   その値を7ビットごとに分けて下位から送信する。
  1780.  
  1781.  
  1782.   .YAMAHA_EXCLUSIVE $00,$4c,1,XG SYSTEM ON { $00,$00,$7E,$00 }
  1783.  
  1784. (MEASURE3 zm_exclusive()参照)
  1785. ----------------------------------------
  1786. ●スタンダードMIDIファイルの送信
  1787. .MIDI_DUMP if,filename
  1788. .SMF if,filename
  1789. ・if:1-4
  1790. ・filename:文字列
  1791.  
  1792.   ファイルネームfilenameのFORMAT0のスタンダードMIDIファイルをMIDIポートifに
  1793.  
  1794. 送信する。FORMAT1,FORMAT2のスタンダードMIDIファイルを送信することはできない。
  1795.  
  1796.   また、ZMUSIC Ver.2.0で扱われていたMIDIダンプデータ(MDD)も送信することも
  1797.  
  1798. できる。
  1799.  
  1800.   filenameの拡張子省略時には(互換性保持のため)'.MDD'が自動添付される。
  1801.  
  1802. スタンダードMIDIファイルの場合は'.MID'や'.SMF'といった拡張子を明記する必要が
  1803.  
  1804. ある。
  1805.  
  1806.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  1807.  
  1808. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  1809.  
  1810.  
  1811.   .MIDI_DUMP CM64TIMBRE.MID
  1812.  
  1813. (MEASURE3 zm_transmit_midi_dump()参照)
  1814. ----------------------------------------
  1815. ■SC55/mkII(SC155/CM300/CM500)専用命令
  1816. ----------------------------------------
  1817. ●SC55初期化
  1818. .SC55_INIT id,if
  1819. .SC55_RESET id,if
  1820. .GS_INIT id,if
  1821. .GS_RESET id,if
  1822. ・id:$00~$7f
  1823. ・if:$01~$04
  1824.  
  1825.   MIDIポートifに接続されたSC55の初期化を行なう。
  1826.  
  1827.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  1828.  
  1829. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  1830.  
  1831.  idはSC55のデバイスIDで省略可能、省略時は$10。
  1832.  
  1833.     .SC55_INIT $10
  1834. ----------------------------------------
  1835. ●SC55の各パートのボイスリザーブ
  1836. .SC55_V_RESERVE id,if {n1,n2,…,n16}            *
  1837. .SC55_PARTIAL_RESERVE id,if {n1,n2,…,n16}        *
  1838. .GS_V_RESERVE id,if {n1,n2,…,n16}            *
  1839. .GS_PARTIAL_RESERVE id,if {n1,n2,…,n16}        *
  1840. ・id:$00~$7f
  1841. ・n1~n16:0~127
  1842. ・if:$01~$04
  1843.  
  1844.   MIDIポートifに接続されたSC55の各パートのボイスリザーブを行う。
  1845.  
  1846.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  1847.  
  1848. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  1849.  
  1850.  idはSC55のデバイスIDで省略可能、省略時は$10。
  1851.  
  1852.   パラメータ(n1~n16)は必ず16個設定しなくてはならない。
  1853.  
  1854. またパラメータ各値の総和は音源の同時発音数以内に収める必要がある。
  1855.  
  1856.   n1~n16はそれぞれパート1~16のボイスリザーブ値に対応し、10番目の
  1857.  
  1858. パラメータはリズムパートに対応する。
  1859.  
  1860. (SC55マニュアルp79, またはMEASURE3 zm_gs_partial_reserve()参照))
  1861.  
  1862.  
  1863.     .SC55_PARTIAL_RESERVE $10 {
  1864.         2,4,2,2,0,0,0,0,0,5,0,0,0,0,0,0
  1865.     }
  1866. ----------------------------------------
  1867. ●SC55のリバーブパラメータの設定
  1868. .SC55_REVERB id,if {n1,n2,…,n7}        *
  1869. .GS_REVERB id,if {n1,n2,…,n7}            *
  1870. ・id:$00~$7f
  1871. ・n1~n7:0-127
  1872. ・if:$01~$04
  1873.  
  1874.   MIDIポートifに接続されたSC55のリバーブパラメータの設定を行う。
  1875.  
  1876.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  1877.  
  1878. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  1879.  
  1880.  idはSC55のデバイスIDで省略可能、省略時は$10。
  1881.  
  1882.   パラメータ(n1~n7)は7個まで任意の個数設定可能。
  1883.  
  1884.     n1:REVERB MACRO 00:Room1,01:Room2,02:Room3,03:Hall1,04:Hall2
  1885.                     05:Plate,06:Delay,07:Panning Delay(FB)
  1886.     n2:REVERB CHARACTER            ($00~$07)
  1887.     n3:REVERB PRE-LPF            ($00~$07)
  1888.     n4:REVERB LEVEL                ($00~$7F)
  1889.     n5:REVERB TIME                ($00~$7F)
  1890.     n6:REVERB DELAY FEEDBACK        ($00~$7F)
  1891.     n7:REVERB SEND LEVEL TO CHORUS        ($00~$7F)
  1892.  
  1893. (SC55マニュアルp79参照)
  1894.  
  1895.  
  1896.     .SC55_REVERB $10 ={4,4,0,88,70,0,0}
  1897. ----------------------------------------
  1898. ●SC55のコーラスパラメータの設定
  1899. .SC55_CHORUS id,if {n1,n2,…,n8}        *
  1900. .GS_CHORUS id,if {n1,n2,…,n8}        *
  1901. ・id:$00~$7f
  1902. ・n1~n8:0-127
  1903. ・if:$01~$04
  1904.  
  1905.   MIDIポートifに接続されたSC55のコーラスパラメータの設定を行う。
  1906.  
  1907.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  1908.  
  1909. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  1910.  
  1911.  idはSC55のデバイスIDで省略可能、省略時は$10。
  1912.  
  1913.   パラメータ(n1~n8)は8個まで任意の個数設定可能。
  1914.  
  1915.     n1:CHORUS MACRO         00:Chorus1,01:Chorus2,02:Chorus3,03:Chorus4
  1916.                         04:Feedback Chorus,05:Flanger,06:Short Delay
  1917.                        07:Short Delay(FB)
  1918.     n2:CHORUS PRE-LPF        ($00~$07)
  1919.     n3:CHORUS LEVEL            ($00~$7F)
  1920.     n4:CHORUS FEEDBACK        ($00~$7F)
  1921.     n5:CHORUS DELAY            ($00~$7F)
  1922.     n6:CHORUS RATE            ($00~$7F)
  1923.     n7:CHORUS DEPTH            ($00~$7F)
  1924.     n8:CHORUS SEND LEVEL TO REVERB    ($00~$7F)
  1925.  
  1926. (SC55マニュアルp79参照)
  1927.  
  1928.  
  1929.     .SC55_CHORUS $10 ={2,0,100,8,80,3,19,0}
  1930. ----------------------------------------
  1931. ●SC55のパートのパラメータを設定
  1932. .SC55_PART_SETUP pt,id,if {n1,n2,…,n119}    *
  1933. .GS_PART_SETUP pt,id,if {n1,n2,…,n119}        *
  1934. .SC55_PART_PARAMETER pt,id,if {n1,n2,…,n119}    *
  1935. .GS_PART_PARAMETER pt,id,if {n1,n2,…,n119}    *
  1936. ・pt:1~16
  1937. ・id:0-127
  1938. ・if:$01~$04
  1939. ・n1~n119:0-127
  1940.  
  1941.   MIDIポートifに接続されたSC55のパートのパラメータを設定する。
  1942.  
  1943.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  1944.  
  1945. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  1946.  
  1947.   ptはパートナンバーを表し、1≦pt≦16で省略は不可。またパートナンバー=10は
  1948.  
  1949. リズムパートに対応する。
  1950.  
  1951.  idはSC55のデバイスIDで省略可能、省略時は$10。
  1952.  
  1953.   パラメータ(n1~n119)は119個まで任意の個数設定可能。
  1954.  
  1955.     n1:Rx CHANNEL                  (1~16,17=OFF)
  1956.     n2:Rx PITCH BEND               (0~1:OFF/ON)
  1957.     n3:Rx CH PRESSURE(CAf)         (0~1:OFF/ON)
  1958.     n4:Rx PROGRAM CHANGE           (0~1:OFF/ON)
  1959.     n5:Rx CONTROL CHANGE           (0~1:OFF/ON)
  1960.     n6:Rx POLY PRESSURE(PAf)       (0~1:OFF/ON)
  1961.     n7:Rx NOTE MESSAGE             (0~1:OFF/ON)
  1962.     n8:Rx RPN                      (0~1:OFF/ON)
  1963.     n9:Rx NRPN                     (0~1:OFF/ON)
  1964.     n10:Rx MODURATION              (0~1:OFF/ON)
  1965.     n11:Rx VOLUME                  (0~1:OFF/ON)
  1966.     n12:Rx PANPOT                  (0~1:OFF/ON)
  1967.     n13:Rx EXPRESSION              (0~1:OFF/ON)
  1968.     n14:Rx HOLD1                   (0~1:OFF/ON)
  1969.     n15:Rx PORTAMENTO              (0~1:OFF/ON)
  1970.     n16:Rx SOSTENUTO               (0~1:OFF/ON)
  1971.     n17:Rx SOFT                    (0~1:OFF/ON)
  1972.     n18:MONO/POLY MODE             (0~1:MONO/POLY)
  1973.     n19:ASSIGN MODE                (0:SINGLE,1:LIMITED-MULTI,2:FULL-MULTI)
  1974.     n20:USE FOR RHYTHM PART        (0:OFF,1:MAP1,2:MAP2)
  1975.     n21:PITCH KEY SHIFT            ($28~$58:-24~+24[semitone])
  1976.     n22:PITCH OFFSET FINE(upper)   ($08~$F8:-12.0~+12.0[Hz])
  1977.     n23:PITCH OFFSET FINE(lower)         〃
  1978.     n24:PART LEVEL                 (0~127)
  1979.     n25:VELOCITY SENSE DEPTH       (0~127)
  1980.     n26:VELOCITY SENSE OFFSET      (0~127)
  1981.     n27:PART PANPOT                (0:RANDOM,01(LEFT)~64~127(RIGHT))
  1982.     n28:KEY RANGE LOW              (0~127:C-1~G9)
  1983.     n29:KEY RANGE HIGH             (0~127:C-1~G9)
  1984.     n30:CC1 CONTROL NUMBER         (0~127)
  1985.     n31:CC2 CONTROL NUMBER         (0~127)
  1986.     n32:CHORUS SEND DEPTH          (0~127)
  1987.     n33:REVERB SEND DEPTH          (0~127)
  1988.  
  1989.     n34:Vibrato rate               ($0E~$72:-50~+50)
  1990.     n35:Vibrato depth              ($0E~$72:-50~+50)
  1991.     n36:TVF cutoff freq.           ($0E~$50:-50~+16)
  1992.     n37:TVF resonance              ($0E~$72:-50~+50)
  1993.     n38:TVF&TVA Env.attack         ($0E~$72:-50~+50)
  1994.     n39:TVF&TVA Env.decay          ($0E~$72:-50~+50)
  1995.     n40:TVF&TVA Env.release        ($0E~$72:-50~+50)
  1996.     n41:Vibrato delay              ($0E~$72:-50~+50)
  1997.  
  1998.     n42:SCALE TUNING C           ($00~$7F:-64~+63[cent])
  1999.     n43:SCALE TUNING C#           ($00~$7F:-64~+63[cent])
  2000.     n44:SCALE TUNING D           ($00~$7F:-64~+63[cent])
  2001.     n45:SCALE TUNING D#           ($00~$7F:-64~+63[cent])
  2002.     n46:SCALE TUNING E           ($00~$7F:-64~+63[cent])
  2003.     n47:SCALE TUNING F           ($00~$7F:-64~+63[cent])
  2004.     n48:SCALE TUNING F#           ($00~$7F:-64~+63[cent])
  2005.     n49:SCALE TUNING G           ($00~$7F:-64~+63[cent])
  2006.     n50:SCALE TUNING G#           ($00~$7F:-64~+63[cent])
  2007.     n51:SCALE TUNING A           ($00~$7F:-64~+63[cent])
  2008.     n52:SCALE TUNING A#           ($00~$7F:-64~+63[cent])
  2009.     n53:SCALE TUNING B           ($00~$7F:-64~+63[cent])
  2010.  
  2011.     n54:MOD PITCH CONTROL             ($28~$58:-24~+24[semitone])
  2012.     n55:MOD TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  2013.     n56:MOD AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  2014.     n57:MOD LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2015.     n58:MOD LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  2016.     n59:MOD LFO1 TVF DEPTH           ($00~$7F:0~2400[cent])
  2017.     n60:MOD LFO1 TVA DEPTH           ($00~$7F:0~100.0[%])
  2018.     n61:MOD LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2019.     n62:MOD LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  2020.     n63:MOD LFO2 TVF DEPTH           ($00~$7F:0~2400[cent])
  2021.     n64:MOD LFO2 TVA DEPTH           ($00~$7F:0~100.0[%])
  2022.  
  2023.     n65:BEND PITCH CONTROL           ($28~$58:-24~+24[semitone])
  2024.     n66:BEND TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  2025.     n67:BEND AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  2026.     n68:BEND LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2027.     n69:BEND LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  2028.     n70:BEND LFO1 TVF DEPTH           ($00~$7F:0~2400[cent])
  2029.     n71:BEND LFO1 TVA DEPTH           ($00~$7F:0~100.0[%])
  2030.     n72:BEND LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2031.     n73:BEND LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  2032.     n74:BEND LFO2 TVF DEPTH           ($00~$7F:0~2400[cent])
  2033.     n75:BEND LFO2 TVA DEPTH           ($00~$7F:0~100.0[%])
  2034.  
  2035.     n76:CAf PITCH CONTROL           ($28~$58:-24~+24[semitone])
  2036.     n77:CAf TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  2037.     n78:CAf AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  2038.     n79:CAf LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2039.     n80:CAf LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  2040.     n81:CAf LFO1 TVF DEPTH           ($00~$7F:0~2400[cent])
  2041.     n82:CAf LFO1 TVA DEPTH           ($00~$7F:0~100.0[%])
  2042.     n83:CAf LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2043.     n84:CAf LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  2044.     n85:CAf LFO2 TVF DEPTH           ($00~$7F:0~2400[cent])
  2045.     n86:CAf LFO2 TVA DEPTH           ($00~$7F:0~100.0[%])
  2046.  
  2047.     n87:PAf PITCH CONTROL           ($28~$58:-24~+24[semitone])
  2048.     n88:PAf TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  2049.     n89:PAf AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  2050.     n90:PAf LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2051.     n91:PAf LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  2052.     n92:PAf LFO1 TVF DEPTH           ($00~$7F:0~2400[cent])
  2053.     n93:PAf LFO1 TVA DEPTH           ($00~$7F:0~100.0[%])
  2054.     n94:PAf LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2055.     n95:PAf LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  2056.     n96:PAf LFO2 TVF DEPTH           ($00~$7F:0~2400[cent])
  2057.     n97:PAf LFO2 TVA DEPTH           ($00~$7F:0~100.0[%])
  2058.  
  2059.     n98:CC1 PITCH CONTROL           ($28~$58:-24~+24[semitone])
  2060.     n99:CC1 TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  2061.        n100:CC1 AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  2062.        n101:CC1 LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2063.        n102:CC1 LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  2064.        n103:CC1 LFO1 TVF DEPTH           ($00~$7F:0~2400[cent])
  2065.        n104:CC1 LFO1 TVA DEPTH           ($00~$7F:0~100.0[%])
  2066.        n105:CC1 LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2067.        n106:CC1 LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  2068.        n107:CC1 LFO2 TVF DEPTH           ($00~$7F:0~2400[cent])
  2069.        n108:CC1 LFO2 TVA DEPTH           ($00~$7F:0~100.0[%])
  2070.  
  2071.        n109:CC2 PITCH CONTROL           ($28~$58:-24~+24[semitone])
  2072.        n110:CC2 TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  2073.        n111:CC2 AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  2074.        n112:CC2 LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2075.        n113:CC2 LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  2076.        n114:CC2 LFO1 TVF DEPTH           ($00~$7F:0~2400[cent])
  2077.        n115:CC2 LFO1 TVA DEPTH           ($00~$7F:0~100.0[%])
  2078.        n116:CC2 LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  2079.        n117:CC2 LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  2080.        n118:CC2 LFO2 TVF DEPTH           ($00~$7F:0~2400[cent])
  2081.        n119:CC2 LFO2 TVA DEPTH           ($00~$7F:0~100.0[%])
  2082.  
  2083. (SC55マニュアルp75,p79~80参照)
  2084.  
  2085.  
  2086.     .SC55_PART_SETUP 16 {17,1,1,1}
  2087. ----------------------------------------
  2088. ●SC55のドラムセットの設定
  2089. .SC55_DRUM_SETUP map,key,id,if  {n1,n2,…,n8}    *
  2090. .GS_DRUM_SETUP map,key,id,if  {n1,n2,…,n8}    *
  2091. ・map:0,1
  2092. ・key:0-127
  2093. ・id:0-127
  2094. ・if:$01~$04
  2095. ・n1~n8:0-127
  2096.  
  2097.   MIDIポートifに接続されたSC55のドラムセットの設定を変える。
  2098.  
  2099.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2100.  
  2101. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2102.  
  2103.   mapはマップナンバーを表し設定範囲は0,1。
  2104.  
  2105.   keyはノートナンバーを表し設定範囲は0≦key≦127。
  2106.  
  2107.  idはSC55のデバイスIDで省略可能、省略時は$10。
  2108.  
  2109.   パラメータ(n1~n8)は8個まで任意の個数設定可能。
  2110.  
  2111.     n1:PLAY KEY NUMBER            (0~127)
  2112.     n2:LEVEL                      (0~127)
  2113.     n3:ASSIGN GROUP NUMBER        (0:NON,1~127)
  2114.     n4:PANPOT                     (0:RANDOM,01(LEFT)~64~127(RIGHT))
  2115.     n5:REVERB DEPTH               (0~127:0.0~1.0)
  2116.     n6:CHORUS DEPTH               (0~127:0.0~1.0)
  2117.     n7:Rx NOTE OFF                (0~1:OFF/ON)
  2118.     n8:Rx NOTE ON                 (0~1:OFF/ON)
  2119.  
  2120. (SC55マニュアルp82参照)
  2121.  
  2122.  
  2123.     .GS_DRUM_SETUP 0,24,$10 {24,127,0,0,10,15,0,1}
  2124. ----------------------------------------
  2125. ●SC55のドラムセット名の設定
  2126. .SC55_DRUM_NAME map,id,if str
  2127. .GS_DRUM_NAME map,id,if str
  2128. ・map:0,1
  2129. ・id:0-127
  2130. ・if:$01~$04
  2131. ・str:文字列
  2132.  
  2133.   MIDIポートifに接続されたSC55のドラムセット名の設定を行う。
  2134.  
  2135.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2136.  
  2137. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2138.  
  2139.   mapはマップナンバーを表し設定範囲は0,1。
  2140.  
  2141.  idはSC55のデバイスIDで省略可能、省略時は$10。
  2142.  
  2143.   strはドラセット名を表す文字列で、"~"で括り12文字以内で指定する。
  2144.  
  2145. (SC55マニュアルp82参照)
  2146.  
  2147.  
  2148.     .GS_DRUM_NAME 0,$10 "USER SET"
  2149. ----------------------------------------
  2150. ●SC55コンソールへの文字列表示
  2151. .SC55_PRINT id,if str
  2152. .GS_PRINT id,if str
  2153. ・id:0-127
  2154. ・if:$01~$04
  2155. ・str:文字列
  2156.  
  2157.   MIDIポートifに接続されたSC55のコンソールに文字列を表示する。
  2158.  
  2159.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2160.  
  2161. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2162.  
  2163.   文字列strは"~"で括り32文字以内に収めなければならない。
  2164.  
  2165.  idはSC55のデバイスIDで省略可能、省略時は$10。
  2166.  
  2167.  
  2168.     .GS_PRINT $10 "HELLO"
  2169. ----------------------------------------
  2170. ●SC55グラフィックディスプレイへのドットパターン表示
  2171. .SC55_DISPLAY id,if  {n1,n2,…,n16}        *
  2172. .GS_DISPLAY id,if  {n1,n2,…,n16}        *
  2173. ・id:0-127
  2174. ・if:$01~$04
  2175. ・n1~n16:%0000000000000000~%1111111111111111
  2176.  
  2177.   MIDIポートifに接続されたSC55のグラフィックディスプレイにドットパターン
  2178.  
  2179. (16x16)を表示する。
  2180.  
  2181.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2182.  
  2183. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2184.  
  2185.  idはSC55のデバイスIDで省略可能、省略時は$10。
  2186.  
  2187.   パラメータ(n1~n16)は必ず16個。
  2188.  
  2189.     n1:1段目のドットパターン
  2190.     n2:2段目のドットパターン
  2191.            :
  2192.            :
  2193.     n16:16段目のドットパターン
  2194.  
  2195.  
  2196.     .GS_DISPLAY $10 { %0001000000010000
  2197.                 %0000100000100000
  2198.               %0111111111111100
  2199.               %0000000100000000
  2200.               %0011111111111000
  2201.               %0000000100000000
  2202.               %0111111111111100
  2203.               %0001000100010000
  2204.               %0000100100100000
  2205.               %1111111111111110
  2206.               %0000000000000000
  2207.               %0011111111111000
  2208.               %0010000000001000
  2209.               %0010000000001000
  2210.               %0011111111111000
  2211.               %0010000000001000}
  2212. ----------------------------------------
  2213. ■GM音源専用命令
  2214. ----------------------------------------
  2215. ●GM音源初期化
  2216. .GM_SYSTEM_ON if
  2217. ・if:$01~$04
  2218.  
  2219.   MIDIポートifに接続されたGM音源を初期化状態にリセットする。
  2220.  
  2221.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2222.  
  2223. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2224.  
  2225.  
  2226.     .GM_SYSTEM_ON
  2227. ----------------------------------------
  2228. ■SC88/SC88VL専用命令
  2229. ----------------------------------------
  2230. ●SC88モード設定
  2231. .SC88_MODE md,id,if
  2232. .SC88_MODE_SET md,id,if
  2233. ・md:1,2
  2234. ・id:0-127
  2235. ・if:$01~$04
  2236.  
  2237.  MIDIポートifに接続されたSC88のモードの設定を行う。
  2238.  
  2239.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2240.  
  2241. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2242.  
  2243.  idはSC88のデバイスIDで省略可能、省略時は$10。
  2244.  
  2245.   mdはモード値を表し、md=1でSingleモード、md=2でDoubleモードが設定される。
  2246.  
  2247. (SC88VLマニュアルp77参照)
  2248.  
  2249.  
  2250.     .SC88_MODE 1,$10
  2251. ----------------------------------------
  2252. ●SC88リバーブ・パラメータの設定
  2253. .SC88_REVERB id,if {n1,n2,...,n8}        *
  2254. ・id:0-127
  2255. ・if:$01~$04
  2256. ・n1~n8:下記参照
  2257.  
  2258.   MIDIポートifに接続されたSC88のリバーブ・パラメータの設定を行う。
  2259.  
  2260.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2261.  
  2262. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2263.  
  2264.  idはSC88のデバイスIDで省略可能、省略時は$10。
  2265.  
  2266.   パラメータ(n1~n8)は8個以内で任意の個数設定可能。
  2267.  
  2268.     n1:REVERB MACRO             00:Room1,01:Room2,02:Room3,03:Hall1,04:Hall2
  2269.                      05:Plate,06:Delay,07:Panning Delay(FB)
  2270.     n2:REVERB CHARACTER        ($00~$07)
  2271.     n3:REVERB PRE-LPF        ($00~$07)
  2272.     n4:REVERB LEVEL            ($00~$7F)
  2273.     n5:REVERB TIME            ($00~$7F)
  2274.     n6:REVERB DELAY FEEDBACK    ($00~$7F)
  2275.     n7:REVERB SEND LEVEL TO CHORUS    ($00~$7F/SC88ではダミー)
  2276.     n8:REVERB PRE-DELAY TIME    ($00~$7F)
  2277.  
  2278.     (SC88VLマニュアルp77参照)
  2279.  
  2280.  
  2281.     .SC88_REVERB $10 {0,0,127,10,10,0,127}
  2282. ----------------------------------------
  2283. ●SC88コーラス・パラメータの設定
  2284. .SC88_CHORUS id,if {n1,n2,...,n9}
  2285. ・id:0-127
  2286. ・if:$01~$04
  2287. ・n1~n9:下記参照
  2288.  
  2289.   MIDIポートifに接続されたSC88のコーラス・パラメータの設定を行う。
  2290.  
  2291.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2292.  
  2293. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2294.  
  2295.  idはSC88のデバイスIDで省略可能、省略時は$10。
  2296.  
  2297.   パラメータ(n1~n9)は9個以内で任意の個数設定可能。
  2298.  
  2299.     n1:CHORUS MACRO         00:Chorus1,01:Chorus2,02:Chorus3,03:Chorus4
  2300.                     04:Feedback Chorus,05:Flanger,06:Short Delay
  2301.                      07:Short Delay(FB)
  2302.     n2:CHORUS PRE-LPF        ($00~$07)
  2303.     n3:CHORUS LEVEL            ($00~$7F)
  2304.     n4:CHORUS FEEDBACK        ($00~$7F)
  2305.     n5:CHORUS DELAY            ($00~$7F)
  2306.     n6:CHORUS RATE            ($00~$7F)
  2307.     n7:CHORUS DEPTH            ($00~$7F)
  2308.     n8:CHORUS SEND LEVEL TO REVERB    ($00~$7F)
  2309.     n9:CHORUS SEND LEVEL TO DELAY    ($00~$7F)
  2310.  
  2311.     (SC88VLマニュアルp78参照)
  2312.  
  2313.  
  2314.     .SC88_CHORUS $10 {0,3,60,10,10,10,24,30,30}
  2315. ----------------------------------------
  2316. ●SC88ディレイ・パラメータの設定
  2317. .SC88_DELAY id,if {n1,n2,...,n11}        *
  2318. ・id:0-127
  2319. ・if:$01~$04
  2320. ・n1~n11:下記参照
  2321.  
  2322.   MIDIポートifに接続されたSC88のディレイ・パラメータの設定を行う。
  2323.  
  2324.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2325.  
  2326. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2327.  
  2328.  idはSC88のデバイスIDで省略可能、省略時は$10。
  2329.  
  2330.   パラメータ(n1~n11)は11個以内で任意の個数設定可能。
  2331.  
  2332.     n1:DELAY MACRO             00:Delay1,01:Delay2,02:Delay3
  2333.                     03:Delay4,04:Pan Delay1
  2334.                     05:Pan Delay2,06:Pan Delay3,07:Pan Delay4
  2335.                     08:Delay to Reverb,09:Pan Repeat
  2336.     n2:DELAY PRE-LPF        ($00~$07)
  2337.     n3:DELAY TIME CENTER        ($01~$73:0.1ms~sec)
  2338.     n4:DELAY TIME RATIO LEFT    ($01~$78:4~500%)
  2339.     n5:DELAY TIME RATIO RIGHT    ($01~$78:4~500%)
  2340.     n6:DELAY LEVEL CENTER        ($00~$7F)
  2341.     n7:DELAY LEVEL LEFT        ($00~$7F)
  2342.     n8:DELAY LEVEL RIGHT        ($00~$7F)
  2343.     n9:DELAY LEVEL            ($00~$7F)
  2344.     n10:DELAY FEEDBACK        ($00~$7F:-64~+63)
  2345.     n11:DELAY SENDLEVEL TO REVERB    ($00~$7F)
  2346.  
  2347.     (SC88VLマニュアルp78参照)
  2348.  
  2349.  
  2350.     .SC88_DELAY $10 {0,3,10,22,22,64,64,64,64,64,30}
  2351. ----------------------------------------
  2352. ●SC88イコライザ・パラメータの設定
  2353. .SC88_EQUALIZER id,if {n1,n2,n3,n4}        *
  2354. ・id:0-127
  2355. ・if:$01~$04
  2356. ・n1~n4:下記参照
  2357.  
  2358.   MIDIポートifに接続されたSC88のイコライザ・パラメータの設定を行う。
  2359.  
  2360.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2361.  
  2362. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2363.  
  2364.  idはSC88のデバイスIDで省略可能、省略時は$10。
  2365.  
  2366.   パラメータ(n1~n4)は4個以内で任意の個数設定可能。
  2367.  
  2368.     n1:EQ LOW FREQ            (0,1:200Hz,400Hz)
  2369.     n2:EQ LOW GAIN            ($34~$4c:-12~+12dB)
  2370.     n3:EQ HIGH FREQ            (0,1:3kHz,6kHz)
  2371.     n4:EQ HIGH GAIN            ($34~$4c:-12~+12dB)
  2372.  
  2373.     (SC88VLマニュアルp78参照)
  2374.  
  2375.  
  2376.     .SC88_EQUALIZER $10 {0,$40,1,$40}
  2377. ----------------------------------------
  2378. ●SC88パート・パラメータの設定
  2379. .SC88_PART_SETUP pt,id,if {n1,n2,...,n127}            *
  2380. .SC88_PART_PARAMETER pt,id,if {n1,n2,...,n127}        *
  2381. ・pt:1~16
  2382. ・id:0-127
  2383. ・if:$01~$04
  2384. ・n1~n127:下記参照
  2385.  
  2386.   MIDIポートifに接続されたSC88パート・パラメータの設定する。
  2387.  
  2388.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2389.  
  2390. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2391.  
  2392.   ptはパートナンバーを表し、1≦pt≦16で省略は不可。またパートナンバー=10は
  2393.  
  2394. リズムパートに対応する。
  2395.  
  2396.  idはSC88のデバイスIDで省略可能、省略時は$10。
  2397.  
  2398.   パラメータ(n1~n127)は127個まで任意の個数設定可能。
  2399.  
  2400.     n1:Rx CHANNEL                  (1~16,17=OFF)
  2401.     n2:Rx PITCH BEND               (0~1:OFF/ON)
  2402.     n3:Rx CH PRESSURE(CAf)         (0~1:OFF/ON)
  2403.     n4:Rx PROGRAM CHANGE           (0~1:OFF/ON)
  2404.     n5:Rx CONTROL CHANGE           (0~1:OFF/ON)
  2405.     n6:Rx POLY PRESSURE(PAf)       (0~1:OFF/ON)
  2406.     n7:Rx NOTE MESSAGE             (0~1:OFF/ON)
  2407.     n8:Rx RPN                      (0~1:OFF/ON)
  2408.     n9:Rx NRPN                     (0~1:OFF/ON)
  2409.     n10:Rx MODURATION              (0~1:OFF/ON)
  2410.     n11:Rx VOLUME                  (0~1:OFF/ON)
  2411.     n12:Rx PANPOT                  (0~1:OFF/ON)
  2412.     n13:Rx EXPRESSION              (0~1:OFF/ON)
  2413.     n14:Rx HOLD1                   (0~1:OFF/ON)
  2414.     n15:Rx PORTAMENTO              (0~1:OFF/ON)
  2415.     n16:Rx SOSTENUTO               (0~1:OFF/ON)
  2416.     n17:Rx SOFT                    (0~1:OFF/ON)
  2417.     n18:MONO/POLY MODE             (0~1:MONO/POLY)
  2418.     n19:ASSIGN MODE                (0:SINGLE,1:LIMITED-MULTI,2:FULL-MULTI)
  2419.     n20:USE FOR RHYTHM PART        (0:OFF,1:MAP1,2:MAP2)
  2420.     n21:PITCH KEY SHIFT            ($28~$58:-24~+24[semitone])
  2421.     n22:PITCH OFFSET FINE(upper)   ($08~$F8:-12.0~+12.0[Hz])
  2422.     n23:PITCH OFFSET FINE(lower)         〃
  2423.     n24:PART LEVEL                 (0~127)
  2424.     n25:VELOCITY SENSE DEPTH       (0~127)
  2425.     n26:VELOCITY SENSE OFFSET      (0~127)
  2426.     n27:PART PANPOT                (0:RANDOM,01(LEFT)~64~127(RIGHT))
  2427.     n28:KEY RANGE LOW              (0~127:C-1~G9)
  2428.     n29:KEY RANGE HIGH             (0~127:C-1~G9)
  2429.     n30:CC1 CONTROL NUMBER         (0~127)
  2430.     n31:CC2 CONTROL NUMBER         (0~127)
  2431.     n32:CHORUS SEND LEVEL          (0~127)
  2432.     n33:REVERB SEND LEVEL          (0~127)
  2433.     n34:Rx BANK SELECT           (0:OFF,1:ON)
  2434.     n35:Rx BANK SELECT LSB         (0:OFF,1:ON)
  2435.  
  2436.     n36:PITCH FINE TUNE(Upper)     ($00 00~$40 00~$7f 7f:-100~0~+100)
  2437.     n37:PITCH FINE TUNE(Lower)
  2438.  
  2439.     n38:DELAY SEND LEVEL           (0~127)
  2440.  
  2441.     n39:Vibrato rate               ($00~$7f:-64~+63)
  2442.     n40:Vibrato depth              ($00~$7f:-64~+63)
  2443.     n41:TVF cutoff freq.           ($00~$7f:-64~+63)
  2444.     n42:TVF resonance              ($00~$7f:-64~+63)
  2445.     n43:TVF&TVA Env.attack         ($00~$7f:-64~+63)
  2446.     n44:TVF&TVA Env.decay          ($00~$7f:-64~+63)
  2447.     n45:TVF&TVA Env.release        ($00~$7f:-64~+63)
  2448.     n46:Vibrato delay              ($00~$7f:-64~+63)
  2449.  
  2450.     n47:SCALE TUNING C           ($00~$7F:-64~+63[cent])
  2451.     n48:SCALE TUNING C#           ($00~$7F:-64~+63[cent])
  2452.     n49:SCALE TUNING D           ($00~$7F:-64~+63[cent])
  2453.     n50:SCALE TUNING D#           ($00~$7F:-64~+63[cent])
  2454.     n51:SCALE TUNING E           ($00~$7F:-64~+63[cent])
  2455.     n52:SCALE TUNING F           ($00~$7F:-64~+63[cent])
  2456.     n53:SCALE TUNING F#           ($00~$7F:-64~+63[cent])
  2457.     n54:SCALE TUNING G           ($00~$7F:-64~+63[cent])
  2458.     n55:SCALE TUNING G#           ($00~$7F:-64~+63[cent])
  2459.     n56:SCALE TUNING A           ($00~$7F:-64~+63[cent])
  2460.     n57:SCALE TUNING A#           ($00~$7F:-64~+63[cent])
  2461.     n58:SCALE TUNING B           ($00~$7F:-64~+63[cent])
  2462.  
  2463.     n59:MOD PITCH CONTROL           ($28~$58:-24~+24[semitone])
  2464.     n60:MOD TVF CUTOFF CONTROL     ($00~$7F:-9600~+9600[CENT])
  2465.     n61:MOD AMPLITUDE CONTROL      ($00~$7F:-100.0~+100.0[%])
  2466.     n62:MOD LFO1 RATE CONTROL      ($00~$7F:-10.0~+10.0[Hz])
  2467.     n63:MOD LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  2468.     n64:MOD LFO1 TVF DEPTH           ($00~$7F:0~2400[cent])
  2469.     n65:MOD LFO1 TVA DEPTH           ($00~$7F:0~100.0[%])
  2470.     n66:MOD LFO2 RATE CONTROL      ($00~$7F:-10.0~+10.0[Hz])
  2471.     n67:MOD LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  2472.     n68:MOD LFO2 TVF DEPTH         ($00~$7F:0~2400[cent])
  2473.     n69:MOD LFO2 TVA DEPTH         ($00~$7F:0~100.0[%])
  2474.  
  2475.     n70:BEND PITCH CONTROL           ($40~$58:-24~+24[semitone])
  2476.     n71:BEND TVF CUTOFF CONTROL    ($00~$7F:-9600~+9600[CENT])
  2477.     n72:BEND AMPLITUDE CONTROL     ($00~$7F:-100.0~+100.0[%])
  2478.     n73:BEND LFO1 RATE CONTROL     ($00~$7F:-10.0~+10.0[Hz])
  2479.     n74:BEND LFO1 PITCH DEPTH      ($00~$7F:0~600[cent])
  2480.     n75:BEND LFO1 TVF DEPTH           ($00~$7F:0~2400[cent])
  2481.     n76:BEND LFO1 TVA DEPTH           ($00~$7F:0~100.0[%])
  2482.     n77:BEND LFO2 RATE CONTROL     ($00~$7F:-10.0~+10.0[Hz])
  2483.     n78:BEND LFO2 PITCH DEPTH      ($00~$7F:0~600[cent])
  2484.     n79:BEND LFO2 TVF DEPTH        ($00~$7F:0~2400[cent])
  2485.     n80:BEND LFO2 TVA DEPTH           ($00~$7F:0~100.0[%])
  2486.  
  2487.     n81:CAf PITCH CONTROL           ($28~$58:-24~+24[semitone])
  2488.     n82:CAf TVF CUTOFF CONTROL     ($00~$7F:-9600~+9600[CENT])
  2489.     n83:CAf AMPLITUDE CONTROL      ($00~$7F:-100.0~+100.0[%])
  2490.     n84:CAf LFO1 RATE CONTROL      ($00~$7F:-10.0~+10.0[Hz])
  2491.     n85:CAf LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  2492.     n86:CAf LFO1 TVF DEPTH         ($00~$7F:0~2400[cent])
  2493.     n87:CAf LFO1 TVA DEPTH         ($00~$7F:0~100.0[%])
  2494.     n88:CAf LFO2 RATE CONTROL      ($00~$7F:-10.0~+10.0[Hz])
  2495.     n89:CAf LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  2496.     n90:CAf LFO2 TVF DEPTH           ($00~$7F:0~2400[cent])
  2497.     n91:CAf LFO2 TVA DEPTH           ($00~$7F:0~100.0[%])
  2498.  
  2499.     n92:PAf PITCH CONTROL           ($28~$58:-24~+24[semitone])
  2500.     n93:PAf TVF CUTOFF CONTROL     ($00~$7F:-9600~+9600[CENT])
  2501.     n94:PAf AMPLITUDE CONTROL      ($00~$7F:-100.0~+100.0[%])
  2502.     n95:PAf LFO1 RATE CONTROL      ($00~$7F:-10.0~+10.0[Hz])
  2503.     n96:PAf LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  2504.     n97:PAf LFO1 TVF DEPTH         ($00~$7F:0~2400[cent])
  2505.     n98:PAf LFO1 TVA DEPTH           ($00~$7F:0~100.0[%])
  2506.     n99:PAf LFO2 RATE CONTROL      ($00~$7F:-10.0~+10.0[Hz])
  2507.     n100:PAf LFO2 PITCH DEPTH      ($00~$7F:0~600[cent])
  2508.     n101:PAf LFO2 TVF DEPTH           ($00~$7F:0~2400[cent])
  2509.     n102:PAf LFO2 TVA DEPTH           ($00~$7F:0~100.0[%])
  2510.  
  2511.        n103:CC1 PITCH CONTROL           ($28~$58:-24~+24[semitone])
  2512.        n104:CC1 TVF CUTOFF CONTROL     ($00~$7F:-9600~+9600[CENT])
  2513.        n105:CC1 AMPLITUDE CONTROL      ($00~$7F:-100.0~+100.0[%])
  2514.        n106:CC1 LFO1 RATE CONTROL      ($00~$7F:-10.0~+10.0[Hz])
  2515.        n107:CC1 LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  2516.        n108:CC1 LFO1 TVF DEPTH           ($00~$7F:0~2400[cent])
  2517.        n109:CC1 LFO1 TVA DEPTH           ($00~$7F:0~100.0[%])
  2518.        n110:CC1 LFO2 RATE CONTROL      ($00~$7F:-10.0~+10.0[Hz])
  2519.        n111:CC1 LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  2520.        n112:CC1 LFO2 TVF DEPTH           ($00~$7F:0~2400[cent])
  2521.        n113:CC1 LFO2 TVA DEPTH           ($00~$7F:0~100.0[%])
  2522.  
  2523.        n114:CC2 PITCH CONTROL           ($28~$58:-24~+24[semitone])
  2524.        n115:CC2 TVF CUTOFF CONTROL     ($00~$7F:-9600~+9600[CENT])
  2525.        n116:CC2 AMPLITUDE CONTROL      ($00~$7F:-100.0~+100.0[%])
  2526.        n117:CC2 LFO1 RATE CONTROL      ($00~$7F:-10.0~+10.0[Hz])
  2527.        n118:CC2 LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  2528.        n119:CC2 LFO1 TVF DEPTH           ($00~$7F:0~2400[cent])
  2529.        n120:CC2 LFO1 TVA DEPTH           ($00~$7F:0~100.0[%])
  2530.        n121:CC2 LFO2 RATE CONTROL      ($00~$7F:-10.0~+10.0[Hz])
  2531.        n122:CC2 LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  2532.        n123:CC2 LFO2 TVF DEPTH         ($00~$7F:0~2400[cent])
  2533.        n124:CC2 LFO2 TVA DEPTH           ($00~$7F:0~100.0[%])
  2534.  
  2535.        n125:TONE MAP NUMBER           (0:SELECTED,1:SC55,2:SC88)
  2536.        n126:TONE MAP0 NUMBER           (1:SC55,2:SC88)
  2537.        n127:EQ ON/OFF               (0:OFF,1:ON)
  2538.  
  2539.        (SC88VLマニュアルp79~p81参照)
  2540.  
  2541.  
  2542.     .SC88_PART_SETUP 16 {17,1,1,1}
  2543. ----------------------------------------
  2544. ●SC88のドラム・セットアップ設定
  2545. .SC88_DRUM_SETUP map,key,id,if {n1,n2,...,n9}    *
  2546. ・map:0,1
  2547. ・key:0-127
  2548. ・id:0-127
  2549. ・if:$01~$04
  2550. ・n1~n8:0-127
  2551.  
  2552.   MIDIポートifに接続されたSC88のドラム・セットアップの設定を行う。
  2553.  
  2554.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2555.  
  2556. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2557.  
  2558.   mapはマップナンバーを表し設定範囲は0,1。
  2559.  
  2560.   keyはノートナンバーを表し設定範囲は0≦key≦127。
  2561.  
  2562.  idはSC88のデバイスIDで省略可能、省略時は$10。
  2563.  
  2564.   パラメータ(n1~n9)は9個まで任意の個数設定可能。
  2565.  
  2566.     n1:PLAY KEY NUMBER            (0~127)
  2567.     n2:LEVEL                      (0~127)
  2568.     n3:ASSIGN GROUP NUMBER        (0:NON,1~127)
  2569.     n4:PANPOT                     (0:RANDOM,0(LEFT)~64~127(RIGHT))
  2570.     n5:REVERB DEPTH               (0~127:0.0~1.0)
  2571.     n6:CHORUS DEPTH               (0~127:0.0~1.0)
  2572.     n7:Rx NOTE OFF                (0~1:OFF/ON)
  2573.     n8:Rx NOTE ON                 (0~1:OFF/ON)
  2574.     n9:DELAY SEND LEVEL          (0-127:0.0~1.0)
  2575.  
  2576.     (SC88VLマニュアルp82参照)
  2577.  
  2578.  
  2579.     .SC88_DRUM_SETUP $10 {42,127,0,64,64,64,1,1,24}
  2580. ----------------------------------------
  2581. ●SC88のドラムセット名の設定
  2582. .SC88_DRUM_NAME map,id,if str
  2583. ・map:0,1  または USER65,USER66
  2584. ・id:0-127
  2585. ・if:$01~$04
  2586. ・str:文字列
  2587.  
  2588.   MIDIポートifに接続されたSC88のドラムセット名の設定を行う。
  2589.  
  2590.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2591.  
  2592. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2593.  
  2594.   mapはマップナンバーを表し設定範囲は0,1。ユーザードラムセットの名前を設定する
  2595.  
  2596. 場合にはUSER65,またはUSER66という文字列を与えて指定する。
  2597.  
  2598.  idはSC88のデバイスIDで省略可能、省略時は$10。
  2599.  
  2600.   strはドラセット名を表す文字列で、"~"で括り12文字以内で指定する。
  2601.  
  2602. (SC88マニュアルp82参照)
  2603.  
  2604.  
  2605.     .SC88_DRUM_NAME USER66,$10 "USER SET"
  2606. ----------------------------------------
  2607. ●SC88ユーザー音色の設定
  2608. .SC88_USER_INST bk,pgm,id,if {n1,n2,...,n11}    *
  2609. ・bk:0-1
  2610. ・pgm:1-128
  2611. ・id:0-127
  2612. ・if:$01~$04
  2613. ・n1~n11:下記参照
  2614.  
  2615.   MIDIポートifに接続されたSC88ユーザー音色の設定を行う。
  2616.  
  2617.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2618.  
  2619. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2620.  
  2621.   bkは設定先音色バンク番号を表し、設定範囲は0,1。bk=0がバリエーション番号64,
  2622.  
  2623. bk=1がバリエーション番号65に対応する。
  2624.  
  2625.  pgmは設定先音色番号で、設定範囲は1~128。
  2626.  
  2627.  idはSC88のデバイスIDで省略可能、省略時は$10。
  2628.  
  2629.   パラメータ(n1~n11)は11個まで任意の個数設定可能。
  2630.  
  2631.     n1:SOURCE TONE#(MAP)          (1,2)
  2632.     n2:BANK NUMBER MSB            (0~127)
  2633.     n3:PROGRAM NUMBER             (1~128)
  2634.     n4:Vibrato rate               ($00~$7f:-64~+63)
  2635.     n5:Vibrato depth              ($00~$7f:-64~+63)
  2636.     n6:TVF cutoff freq.           ($00~$7f:-64~+63)
  2637.     n7:TVF resonance              ($00~$7f:-64~+63)
  2638.     n8:TVF&TVA Env.attack         ($00~$7f:-64~+63)
  2639.     n9:TVF&TVA Env.decay          ($00~$7f:-64~+63)
  2640.     n10:TVF&TVA Env.release       ($00~$7f:-64~+63)
  2641.     n11:Vibrato delay             ($00~$7f:-64~+63)
  2642.  
  2643.     (SC88VLマニュアルp82参照)
  2644.  
  2645.  
  2646.     .SC88_USER_INST 0,4,$10 {1,0,10,64,64,64,64,64,64,64,64}
  2647. ----------------------------------------
  2648. ●SC88のユーザードラムセットの設定
  2649. .SC88_USER_DRUM st,nt,id,if {n1,n2,...,n12}    *
  2650. ・st:0-1
  2651. ・nt:0-127
  2652. ・id:0-127
  2653. ・if:$01~$04
  2654. ・n1~n12:下記参照
  2655.  
  2656.   MIDIポートifに接続されたSC88のユーザードラムセットの設定を行う。
  2657.  
  2658.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2659.  
  2660. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2661.  
  2662.   stは設定先ドラムセット番号で設定範囲は0,1。st=0がドラムセット番号65、
  2663.  
  2664. st=1がドラムセット番号66に対応する。
  2665.  
  2666.   ntは登録先ノート番号で設定範囲は0-127。
  2667.  
  2668.  idはSC88のデバイスIDで省略可能、省略時は$10。
  2669.  
  2670.   パラメータ(n1~n12)は12個まで任意の個数設定可能。
  2671.  
  2672.     n1:PLAY KEY NUMBER            (0~127)
  2673.     n2:LEVEL                      (0~127)
  2674.     n3:ASSIGN GROUP NUMBER        (0:NON,1~127)
  2675.     n4:PANPOT                     (0:RANDOM,01(LEFT)~64~127(RIGHT))
  2676.     n5:REVERB DEPTH               (0~127:0.0~1.0)
  2677.     n6:CHORUS DEPTH               (0~127:0.0~1.0)
  2678.     n7:Rx NOTE OFF                (0~1:OFF/ON)
  2679.     n8:Rx NOTE ON                 (0~1:OFF/ON)
  2680.     n9:DELAY SEND LEVEL          (0-127:0.0~1.0)
  2681.     n10:SOURCE DRUM SET#(MAP)     (1-2)
  2682.     n11:PROGRAM NUMBER          (0-127)
  2683.     n12:SOURCE NOTE NUMBER          (0-127)
  2684.  
  2685.     (SC88VLマニュアルp82参照)
  2686.  
  2687.  
  2688.     .SC88_USER_DRUM 0,32,$10 {24,127,0,64,10,10,0,1,10,1,10,24}
  2689. ----------------------------------------
  2690. ■MT32/CM32L/CM64/CM500専用命令
  2691. ----------------------------------------
  2692. ●MT32の初期化
  2693. .MT32_INIT id,if
  2694. .MT32_RESET id,if
  2695. ・id:0-127
  2696. ・if:$01~$04
  2697.  
  2698.   MIDIポートifに接続されたMT32の初期化を行なう
  2699.  
  2700.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2701.  
  2702. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2703.  
  2704.  idはMT32のデバイスIDで省略可能、省略時は$10。
  2705.  
  2706.  
  2707.     .MT32_INIT $10
  2708. ----------------------------------------
  2709. ●MT32の各パートのパーシャルリザーブ
  2710. .MT32_P_RESERVE id,if {n1,n2,…,n9}            *
  2711. .MT32_PARTIAL_RESERVE id,if {n1,n2,…,n9}        *
  2712. ・id:0-127
  2713. ・if:$01~$04
  2714. ・n1~n9:0-127
  2715.  
  2716.   MIDIポートifに接続されたMT32の各パートのパーシャルリザーブを行う。
  2717.  
  2718.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2719.  
  2720. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2721.  
  2722.  idはMT32のデバイスIDで省略可能、省略時は$10。
  2723.  
  2724.   パラメータ(n1~n9)は必ず9個なければならない。パラメータ各値の総和は32以内。
  2725.  
  2726.   n1~n8はパート1~8のパーシャルリザーブ値に対応し、n9はリズムパートに対応する。
  2727.  
  2728.  
  2729.     .MT32_PARTIAL_RESERVE $10 {2,2,2,2,0,0,1,2,4}
  2730. ----------------------------------------
  2731. ●MT32リバーブパラメータの設定
  2732. .MT32_REVERB id,if {n1,n2,n3}        *
  2733. ・id:0-127
  2734. ・if:$01~$04
  2735. ・n1~n3:0-127
  2736.  
  2737.   MIDIポートifに接続されたMT32のリバーブパラメータを設定する。
  2738.  
  2739.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2740.  
  2741. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2742.  
  2743.  idはMT32のデバイスIDで省略可能、省略時は$10。
  2744.  
  2745.   パラメータ(n1~n3)は3個まで任意の個数設定可能。
  2746.  
  2747.     n1:REVERB MODE                (0:Room,1:Hall,2:Plate,3:Tap Delay)
  2748.     n2:REVERB TIME                (0~7)
  2749.     n3:REVERB LEVEL               (0~7)
  2750.  
  2751. (MT32マニュアルp35, CM64マニュアルp30参照)
  2752.  
  2753.  
  2754.     .MT32_REVERB $10 {3,3,5}
  2755. ----------------------------------------
  2756. ●MT32各パートのMIDIチャンネル設定
  2757. .MT32_PART_SETUP id,if {n1,n2,…,n9}    *
  2758. ・id:0-127
  2759. ・if:$01~$04
  2760. ・n1~n9:0-127
  2761.  
  2762.   MIDIポートifに接続されたMT32の各パートのMIDIチャンネルを設定する。
  2763.  
  2764.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2765.  
  2766. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2767.  
  2768.  idはMT32のデバイスIDで省略可能、省略時は$10。
  2769.  
  2770.   パラメータ(n1~n9)は9個まで任意の個数設定可能。
  2771.  
  2772.   n1~n8はパート1~8のMIDIチャンネル値に対応し、n9はリズムパートに対応する。
  2773.  
  2774.   パラメータ(n1~n9)はMIDIチャンネル値なので1~16まで有効。
  2775.  
  2776. ただし、0あるいは17以上を与えた場合はそのパートを無効(OFF)とみなす。
  2777.  
  2778. (MT32マニュアルp35, CM64マニュアルp30参照)
  2779.  
  2780.  
  2781.     .MT32_PART_SETUP $10 {2,3,4,5,6,7,8,9,10}
  2782. ----------------------------------------
  2783. ●MT32リズムキットの設定
  2784. .MT32_DRUM_SETUP n,id,if {n1,n2,n3,n4}            *
  2785. .MT32_RHYTHM_SETUP n,id,if {n1,n2,n3,n4}        *
  2786. ・n:24~87
  2787. ・id:0-127
  2788. ・if:$01~$04
  2789.  
  2790.   MIDIポートifに接続されたMT32のリズムキットの設定を変更する。
  2791.  
  2792.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2793.  
  2794. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2795.  
  2796. nは変更対象ノートナンバーを表し、設定範囲は24≦n≦87。
  2797.  
  2798.  idはMT32のデバイスIDで省略可能、省略時は$10。
  2799.  
  2800.   パラメータ(n1~n4)は4個まで任意の個数設定可能。
  2801.  
  2802.     n1:TIMBRE                   (0~63:i1~64,64~127:r1~64)
  2803.     n2:OUTPUT LEVEL             (0~100)
  2804.     n3:PANPOT                   (0~14)
  2805.     n4:REVERB SWITCH            (0~1:OFF/ON)
  2806.  
  2807. (MT32マニュアルp35, CM64マニュアルp30参照)
  2808.  
  2809.  
  2810.     .MT32_DRUM_SETUP 24,$10 {10,100,12,1}
  2811. ----------------------------------------
  2812. ●MT32コモンパラメータの設定
  2813. .MT32_COMMON n,id,if {str,n1,n2,n3,n4}        *
  2814. ・n:1-64
  2815. ・id:0-127
  2816. ・if:$01~$04
  2817. ・str:文字列
  2818. ・n1~n4:0-127
  2819.  
  2820.   MIDIポートifに接続されたMT32の音色のコモンパラメータを設定する。
  2821.  
  2822.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2823.  
  2824. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2825.  
  2826.   nは設定対象ティンバー番号で、設定範囲は1~64。
  2827.  
  2828.  idはMT32のデバイスIDで省略可能、省略時は$10。
  2829.  
  2830.   strは音色名で、"~"で括り、10文字以内(省略不可)の文字列で指定する。
  2831.  
  2832.   パラメータ(n1~n4)は4個まで任意の個数設定可能。
  2833.  
  2834.     n1:Structure of Partial#1&2        (0~12:1~13)
  2835.     n2:Structure of Partial#3&4        (0~12:1~13)
  2836.     n3:PARTIAL MUTE                    (0~15)
  2837.     n4:ENV MODE                        (0~1:NORMAL,NO SUSTAIN)
  2838.  
  2839. (MT32マニュアルp34, CM64マニュアルp29参照)
  2840.  
  2841.  
  2842.     .MT32_COMMON 1,$10 {1,1,0,0}
  2843. ----------------------------------------
  2844. ●MT32パーシャルパラメータの設定
  2845. .MT32_PARTIAL n,p,id,if  {n1,n2,…,n58}        *
  2846. ・n:1-64
  2847. ・p:1-4
  2848. ・id:0-127
  2849. ・if:$01~$04
  2850. ・n1~n58:0-127
  2851.  
  2852.   MIDIポートifに接続されたMT32の音色のパーシャルパラメータを設定する。
  2853.  
  2854.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2855.  
  2856. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2857.  
  2858.   nは設定対象ティンバー番号で設定範囲は1≦n≦64。
  2859.  
  2860.   pは設定対象パーシャルナンバーで設定範囲は1≦p≦4。
  2861.  
  2862.  idはMT32のデバイスIDで省略可能、省略時は$10。
  2863.  
  2864.   パラメータ(n1~n58)は58個まで任意の個数設定可能。
  2865.  
  2866.     n1:WG PITCH COARSE                    (0~96:C1,C#1,~,C9)
  2867.     n2:WG PITCH FINE                      (0~100:-50~+50)
  2868.     n3:WG PITCH KEYFOLLOW                 (0~16:-1,-1/2,-1/4,0,1/8,1/4,
  2869.                              3/8,1/2,5/8,3/4,7/8,1,
  2870.                              5/4,3/2,2,s1,s2)
  2871.     n4:WG PITCH BENDER SW                 (0~1:OFF/ON)
  2872.     n5:WG WAVEFORM/PCM BANK               (0~3:SQU1,SAW1,SQU2,SAW2)
  2873.     n6:WG PCM WAVE                        (0~127:1~128)
  2874.     n7:WG PULSE WIDTH                     (0~100)
  2875.     n8:WG PW VELO SENS                    (0~14:-7~+7)
  2876.     n9:P-ENV DEPTH                        (0~10)
  2877.        n10:P-ENV VELO SENS                    (0~3)
  2878.        n11:P-ENV TIME KEYF                    (0~4)
  2879.        n12:P-ENV TIME 1                       (0~100)
  2880.        n13:P-ENV TIME 2                       (0~100)
  2881.        n14:P-ENV TIME 3                       (0~100)
  2882.        n15:P-ENV TIME 4                       (0~100)
  2883.        n16:P-ENV LEVEL 0                      (0~100:-50~+50)
  2884.        n17:P-ENV LEVEL 1                      (0~100:-50~+50))
  2885.        n18:P-ENV LEVEL 2                      (0~100:-50~+50)
  2886.        n19:P-ENV SUSTAIN LEVEL                (0~100:-50~+50)
  2887.        n20:END LEVEL                          (0~100:-50~+50)
  2888.        n21:P-LFO RATE                         (0~100)
  2889.        n22:P-LFO DEPTH                        (0~100)
  2890.        n23:P-LFO MOD SENS                     (0~100)
  2891.        n24:TVF CUTOFF FREQ                    (0~100)
  2892.        n25:TVF RESONANCE                      (0~30)
  2893.        n26:TVF KEYFOLLOW                      (0~14:-1,-1/2,-1/4,0,1/8,1/4,
  2894.                              3/8,1/2,5/8,3/4,7/8,1,
  2895.                              5/4,3/2,2)
  2896.        n27:TVF BIAS POINT/DIR                 (0~127)
  2897.        n28:TVF BIAS LEVEL                     (0~14:-7~+7)
  2898.        n29:TVF ENV DEPTH                      (0~100)
  2899.        n30:TVF ENV VELO SENS                  (0~100)
  2900.        n31:TVF ENV DEPTH KEYF                 (0~4)
  2901.        n32:TVF ENV TIME KEYF                  (0~4)
  2902.        n33:TVF ENV TIME 1                     (0~100)
  2903.        n34:TVF ENV TIME 2                     (0~100)
  2904.        n35:TVF ENV TIME 3                     (0~100)
  2905.        n36:TVF ENV TIME 4                     (0~100)
  2906.        n37:TVF ENV TIME 5                     (0~100)
  2907.        n38:TVF ENV LEVEL 1                    (0~100)
  2908.        n39:TVF ENV LEVEL 2                    (0~100)
  2909.        n40:TVF ENV LEVEL 3                    (0~100)
  2910.        n41:TVF ENV SUSTAIN LEVEL              (0~100)
  2911.        n42:TVA LEVEL                          (0~100)
  2912.        n43:TVA VELO SENS                      (0~100:-50~+50
  2913.        n44:TVA BIAS POINT 1                   (0~127)
  2914.        n45:TVA BIAS LEVEL 1                   (0~12:-12~0)
  2915.        n46:TVA BIAS POINT 2                   (0~127)
  2916.        n47:TVA BIAS LEVEL 2                   (0~12:-12~0)
  2917.        n48:TVA ENV TIME KEYF                  (0~4)
  2918.        n49:TVA ENV TIME V_FOLLOW              (0~4)
  2919.        n50:TVA ENV TIME 1                     (0~100)
  2920.        n51:TVA ENV TIME 2                     (0~100)
  2921.        n52:TVA ENV TIME 3                     (0~100)
  2922.        n53:TVA ENV TIME 4                     (0~100)
  2923.        n54:TVA ENV TIME 5                     (0~100)
  2924.        n55:TVA ENV LEVEL 1                    (0~100)
  2925.        n56:TVA ENV LEVEL 2                    (0~100)
  2926.        n57:TVA ENV LEVEL 3                    (0~100)
  2927.        n58:TVA ENV SUSTAIN LEVEL              (0~100)
  2928.  
  2929. (MT32マニュアルp34, CM64マニュアルp29参照)
  2930.  
  2931.  
  2932.     .MT32_PARTIAL 1,1,$10 {64,50,11,1,1,127,50,7}
  2933. ----------------------------------------
  2934. ●MT32パッチの設定
  2935. .MT32_PATCH n,id,if {n1,n2,…,n7}        *
  2936. ・n:1-128
  2937. ・id:0-127
  2938. ・if:$01~$04
  2939. ・n1~n7:0-127
  2940.  
  2941.   MIDIポートifに接続されたMT32のパッチを設定する。
  2942.  
  2943.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2944.  
  2945. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2946.  
  2947.   nは設定対象パッチナンバーで、設定範囲は1≦n≦128。
  2948.  
  2949.  idはMT32のデバイスIDで省略可能、省略時は$10。
  2950.  
  2951.   パラメータ(n1~n7)は7個まで任意の設定個数設定可能。
  2952.  
  2953.     n1:TIMBRE GROUP               (0~3:a,b,i,r)
  2954.     n2:TIMBRE NUMBER              (0~63)
  2955.     n3:KEY SHIFT                  (0~48:-24~+24)
  2956.     n4:FINE TUNE                  (0~100:-50~+50)
  2957.     n5:BENDER RANGE               (0~24)
  2958.     n6:ASSIGN MODE                (0~3:POLY1~4)
  2959.     n7:REVERB SWITCH              (0~1:OFF/ON)
  2960.  
  2961. (MT32マニュアルp35, CM64マニュアルp30参照)
  2962.  
  2963.  
  2964.     .MT32_PATCH 1,$10 {0,0,0,50,12,1,1}
  2965. ----------------------------------------
  2966. ●MT32コンソール文字列表示
  2967. .MT32_PRINT id,if str
  2968. ・id:0-127
  2969. ・if:$01~$04
  2970. ・str:文字列
  2971.  
  2972.   MIDIポートifに接続されたMT32のコンソールに文字列を表示する。
  2973.  
  2974.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2975.  
  2976. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  2977.  
  2978.  idはMT32のデバイスIDで省略可能、省略時は$10。
  2979.  
  2980.   strは文字列で、"~"でくくり20文字以内で指定する。
  2981.  
  2982. (MEASURE3 zm_mt32_print()参照)
  2983.  
  2984.  
  2985.     .MT32_PRINT $10 "HELLO!"
  2986. ----------------------------------------
  2987. ■U220/U20専用命令
  2988. ----------------------------------------
  2989. ●U220セットアップパラメータの設定
  2990. .U220_SETUP id,if {n1,n2,…,n7}        *
  2991. ・id:0-127
  2992. ・if:$01~$04
  2993. ・n1~n7:0-127
  2994.  
  2995.   MIDIポートifに接続されたU220のセットアップパラメータを設定する。
  2996.  
  2997.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  2998.  
  2999. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  3000.  
  3001.  idはU220のデバイスIDで省略可能、省略時は$10。
  3002.  
  3003.   パラメータ(n1~n7)は必ず7個指定しなければならない。
  3004.  
  3005.     n1:Chorus SW                          (0~1:OFF/ON)
  3006.     n2:Reverb SW                          (0~1:OFF/ON)
  3007.     n3:Rx Cntrl Channel                   (1~17:1~16,OFF)
  3008.     n4:Patch Change                       (0~5:MAP1~MAP4,Dir,OFF)
  3009.     n5:Timbre Change                      (0~5:MAP1~MAP4,Dir,OFF)
  3010.     n6:Rhythm Change                      (0~5:MAP1~MAP4,Dir,OFF)
  3011.     n7:R.Inst Assign                      (0~5:MAP1~MAP4,Dir,OFF)
  3012.  
  3013. (U220マニュアルp46,p146,p148)
  3014.  
  3015.  
  3016.     .U220_SETUP $10 {1,1,1,5,4,4,4}
  3017. ----------------------------------------
  3018. ●U220パートパラメータの設定
  3019. .U220_PART_SETUP pt,id,if {n1,n2,…,n13}        *
  3020. ・pt:1-6
  3021. ・id:0-127
  3022. ・if:$01~$04
  3023. ・n1~n13:0-127
  3024.  
  3025.   MIDIポートifに接続されたU220のテンポラリ・パッチのパートパラメータを
  3026.  
  3027. 設定する。
  3028.  
  3029.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  3030.  
  3031. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  3032.  
  3033.   ptはパートナンバーを表し、設定範囲は1≦pt≦6。
  3034.  
  3035.  idはU220のデバイスIDで省略可能、省略時は$10。
  3036.  
  3037.   パラメータ(n1~n13)は必ず13個指定しなければならない。
  3038.  
  3039.     n1:Timbre Number                  (1~128)
  3040.     n2:Voice Reserve                  (0~30)
  3041.     n3:Receive Channel                (1~17:1~16,OFF)
  3042.     n4:Key Range Low                  (0~127:C-1~G9)
  3043.     n5:Key Range High                 (0~127:C-1~G9)
  3044.     n6:Velo Level                     (0~1:Above/Below)
  3045.     n7:Velo Threshold                 (0~127)
  3046.     n8:Output Assign                  (0~4:Dry,Rev,Cho,Dir1,Dir2)
  3047.     n9:Level                          (0~127)
  3048.        n10:Pan                            (0~15:L7~M~R7)
  3049.        n11:Rx Volume                      (0~1:OFF/ON)
  3050.        n12:Rx Pan                         (0~1:OFF/ON)
  3051.        n13:Rx Hold                        (0~1:OFF/ON)
  3052.  
  3053. (U220マニュアルp58,p149参照)
  3054.  
  3055.  
  3056.     .U220_PART_SETUP 1,$10 {1,3,1,0,127,1,127,0,0,8,0,0,0}
  3057. ----------------------------------------
  3058. ●U220コモンパラメータの設定
  3059. .U220_COMMON id,if {n1,n2,…,n18}
  3060. ・id:0-127
  3061. ・if:$01~$04
  3062. ・n1~n18:0-127
  3063.  
  3064.   MIDIポートifに接続されたU220のテンポラリ・パッチのコモンパラメータを
  3065.  
  3066. 設定する。
  3067.  
  3068.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  3069.  
  3070. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  3071.  
  3072.  idはU220のデバイスIDで省略可能、省略時は$10。
  3073.  
  3074.   パラメータ(n1~n18)は必ず18個指定しなければならない。
  3075.  
  3076.     n1:Chorus Type                    (0~4:Chorus1,Chorus2,FB-Chorus,
  3077.                           Flanger,Short Delay)
  3078.     n2:Chorus Out Mode                (0~1:Pre Rev,Post Rev)
  3079.     n3:Chorus Level                   (0~31)
  3080.     n4:Chorus Delay                   (0~31)
  3081.     n5:Chorus Rate                    (0~31)
  3082.     n6:Chorus Depth                   (0~31)
  3083.     n7:Chorus Feedback                (1~63:-31~0~+31)
  3084.     n8:Reverb Type                    (0~7:Room1~3,Hall1~2,Gate
  3085.                           Delay,CrossDelay)
  3086.     n9:Reverb Time                    (0~31)
  3087.        n10:Reverb Level                   (0~31)
  3088.        n11:Reverb Delay Feedback          (0~31)
  3089.        n12:Reverb Pre Delay Feedback      (0~31)
  3090.        n13:Param1 #                       (0~63:0~5,7~31,64~95,OFF)
  3091.        n14:Param1 Param                   (0:Timbre Level,1:Env Attack
  3092.                           2:Env Decay,3:Env Sustain
  3093.                           4:Env Release,5:A.Bend Depth
  3094.                           6:A.Bend Rate,7:Detune Depth
  3095.                           8:Vib Rate,9:Vib Wave Form
  3096.                           10:Vib Depth,11:Vib Delay
  3097.                           12:Vib Rise Time,13:Vib Mod Depth
  3098.                           14:Chorus Level,15:Chorus Rate
  3099.                           16:Chorus Feedback,17:Reverb Level
  3100.                           18:Delay Feedback)
  3101.        n15:Param2 #                       (Same as Param1 #)
  3102.        n16:Param2 Param                   (Same as Param1 Param)
  3103.        n17:Param3 #                       (Same as Param1 #)
  3104.        n18:Param3 Param                   (Same as Param1 Param)
  3105.  
  3106. (U220マニュアルp54,p149参照)
  3107.  
  3108.  
  3109.     .U220_COMMON $10 {0,1,20,20,20,20,32,0,2,2,2,2,63,0,63,0,63,0}
  3110. ----------------------------------------
  3111. ●U220音色パラメータ設定
  3112. .U220_TIMBRE n,id,if {str,n1,n2,…,n26}        *
  3113. ・n:1-128
  3114. ・id:0-127
  3115. ・if:$01~$04
  3116. ・str:文字列
  3117. ・n1~n26:0-127
  3118.  
  3119.   MIDIポートifに接続されたU220に音色パラメータを設定する。
  3120.  
  3121.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  3122.  
  3123. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  3124.  
  3125.   nは登録先音色番号を表し、設定範囲は1≦n≦128。
  3126.  
  3127.  idはU220のデバイスIDで省略可能、省略時は$10。
  3128.  
  3129.   strは音色名を表す文字列で、"~"で括り、12文字以内で指定する。
  3130.  
  3131.   パラメータ(n1~n26)は必ず26個指定しなければならない。
  3132.  
  3133.     n1:Tone Media                      (0~31:I,1~31)
  3134.     n2:Tone Number                     (1~128)
  3135.     n3:Timbre Level                    (0~127)
  3136.     n4:Velocity Sens                   (1~15:-7~+7)
  3137.     n5:Channel Press Sens              (1~15:-7~+7)
  3138.     n6:Env Attack Rate                 (1~15:-7~+7)
  3139.     n7:Env Decay Rate                  (1~15:-7~+7)
  3140.     n8:Env Sustain Level               (1~15:-7~+7)
  3141.     n9:Env Release Rate                (1~15:-7~+7)
  3142.        n10:Pitch Shift Coarse              (8~56:-24~+24)
  3143.        n11:Pitch Shift Fine                (14~114:-50~+50)
  3144.        n12:Bend Range Lower                (0~15:-36,-24,-12~0)
  3145.        n13:Bend Range Upper                (0~12)
  3146.        n14:Channel After Sens              (0~27:-36,-24,-12~+12)
  3147.        n15:Poly After Sens                 (0~27:-36,-24,-12~+12)
  3148.        n16:Auto Bend Depth                 (0~27:-36,-24,-12~+12)
  3149.        n17:Auto Bend Rate                  (0~15)
  3150.        n18:Detune Depth                    (0~15)
  3151.        n19:Rate                            (0~63)
  3152.        n20:Waveform                        (0~8)
  3153.        n21:Depth                           (0~15)
  3154.        n22:Delay                           (0~15)
  3155.        n23:Rise Time                       (0~15)
  3156.        n24:Modulation Depth                (0~15)
  3157.        n25:Ch After Sens                   (0~15)
  3158.        n26:Poly After Sens                 (0~15)
  3159.  
  3160. (U220マニュアルp72,p149参照)
  3161.  
  3162.  
  3163.     .U220_TIMBRE 1,$10     {"SYNTHE-2",
  3164.                 0,1,127,8,8,8,8,8,8,32,64,2,2,
  3165.                 14,14,14,0,0,0,0,0,0,0,0,0,0
  3166.                    }
  3167. ----------------------------------------
  3168. ●U220ドラム・パラメータの設定
  3169. .U220_DRUM_SETUP id,if {n1,n2,…,n7}        *
  3170. ・id:0-127
  3171. ・if:$01~$04
  3172. ・n1~n7:0-127
  3173.  
  3174.   MIDIポートifに接続されたU220のテンポラリ・パッチのドラム・パラメータを
  3175.  
  3176. 設定する。
  3177.  
  3178.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  3179.  
  3180. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  3181.  
  3182.  idはU220のデバイスIDで省略可能、省略時は$10。
  3183.  
  3184.   パラメータ(n1~n7)は必ず7個指定しなければならない。
  3185.  
  3186.     n1:Rhythm Setup #                  (0~3:1~4)
  3187.     n2:Voice Reserve                   (0~30)
  3188.     n3:Receive Channel                 (1~17:1~16,OFF)
  3189.     n4:Level                           (0~127)
  3190.     n5:Level Boost Sw                  (0~1:OFF/ON)
  3191.     n6:Rx Volume                       (0~1:OFF/ON)
  3192.     n7:Rx Hold                         (0~1:OFF/ON)
  3193.  
  3194. (U220マニュアルp63,p149参照)
  3195.  
  3196.  
  3197.     .U220_DRUM_SETUP $10 {0,5,10,127,0,1,0}
  3198. ----------------------------------------
  3199. ●U220ドラムセット・ノートパラメータの設定
  3200. .U220_DRUM_INST n,id,if {n1,n2,…,n20}        *
  3201. ・n:35-99
  3202. ・id:0-127
  3203. ・if:$01~$04
  3204. ・n1~n20:0-127
  3205.  
  3206.   MIDIポートifに接続されたU220のテンポラリ・ドラムセットの各ノートにおける
  3207.  
  3208. パラメータを設定する。
  3209.  
  3210.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  3211.  
  3212. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  3213.  
  3214.   nは設定先のノート番号で、設定範囲は35≦n≦99。
  3215.  
  3216.  idはU220のデバイスIDで省略可能、省略時は$10。
  3217.  
  3218.   パラメータ(n1~n20)は20個以内任意の個数設定可能。
  3219.  
  3220.     n1:Tone Media                      (0~31:I,1~31)
  3221.     n2:Tone Number                     (1~128)
  3222.     n3:Source Key                      (0~127:C-1~G9)
  3223.     n4:Mute Inst                       (34~98:OFF,B1~D7)
  3224.     n5:Inst Level                      (0~31)
  3225.     n6:Velocity Sens                   (0~15)
  3226.     n7:Env Mode                        (0~1:Sustain,No Sustain)
  3227.     n8:Env Attack Rate                 (1~15:-7~+7)
  3228.     n9:Env Decay Rate                  (1~15:-7~+7)
  3229.        n10:Env Release Rate                (1~15:-7~+7)
  3230.        n11:Pitch Shift Coarse              (0~27:-36,-24,-12~+12)
  3231.        n12:Pitch Shift Fine                (14~114:-50~+50)
  3232.        n13:Channel After Sens              (0~27:-36,-24,-12~+12)
  3233.        n14:Poly After Sens                 (0~27:-36,-24,-12~+12)
  3234.        n15:Random                          (0~15)
  3235.        n16:Auto Bend Depth                 (0~27:-36,-24,-12~+12)
  3236.        n17:Auto Bend Rate                  (0~15)
  3237.        n18:Detune Depth                    (0~15)
  3238.        n19:Output Assign                   (0~3:Dry,Rev,Cho,Dir1)
  3239.        n20:Pan                             (0~15:L7~M~R7)
  3240.  
  3241. (U220マニュアルp72,p149参照)
  3242.  
  3243.  
  3244.     .U220_DRUM_INST 42,$10 {0,1,24,34,31,
  3245.                 15,1,8,8,8,14,64,14,14,
  3246.                 0,14,0,0,0,8}
  3247. ----------------------------------------
  3248. ●U220ディスプレイ文字列表示
  3249. .U220_PRINT id,if  str
  3250. ・id:0-127
  3251. ・if:$01~$04
  3252. ・str:文字列
  3253.  
  3254.   MIDIポートifに接続されたU220のディスプレイに文字列を表示する。
  3255.  
  3256. 具体的にはU220のテンポラリ・パッチの名前を設定することで行う。
  3257.  
  3258.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  3259.  
  3260. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  3261.  
  3262.  idはU220のデバイスIDで省略可能、省略時は$10。
  3263.  
  3264.   strは表示文字列を表し、"~"で括り、12文字以内で指定する。
  3265.  
  3266.  
  3267.     .U220_PRINT $10 "APPLE TREE"
  3268. ----------------------------------------
  3269. ■M1/M1EX/M1R/M1REX専用命令
  3270. ----------------------------------------
  3271. ●M1受信チャンネル設定
  3272. .M1_SETUP {ch1,ch2,…,ch8}    *
  3273. .M1_MIDI_CH {ch1,ch2,…,ch8}    *
  3274. ・ch1~ch8:1-16
  3275.  
  3276.   M1のSEQ0の各パートの受信チャンネルを設定する。
  3277.  
  3278.   パラメータ(ch1~ch8)は必ず8個指定しなければならない。設定範囲は1≦chi≦17で
  3279.  
  3280. 1~16はMIDIチャンネルの1~16を表し、17は「そのパートは受信しない」を意味する
  3281.  
  3282. 設定となる。
  3283.  
  3284.     n1:パート1の受信MIDIチャンネル
  3285.     n2:パート1の受信MIDIチャンネル
  3286.             :
  3287.             :
  3288.     n8:パート1の受信MIDIチャンネル
  3289.  
  3290.  
  3291.   .M1_SETUP {1,2,3,4,5,6,17,10}
  3292. ----------------------------------------
  3293. ●M1パートパラメータの設定
  3294. .M1_PART_SETUP {n1,n2,…,n40}        *
  3295. ・n1~n40:
  3296.  
  3297.   M1のSEQ0の各パートのパラメータを設定する。
  3298.  
  3299.   パラメータ(n1~n40)は必ず40個(5×8パート分)設定しなければならない。
  3300.  
  3301.     PART 1
  3302.     n1:PROGRAM NUMBER                  (0~199:I00~C99)
  3303.     n2:OUTPUT LEVEL                    (0~99)
  3304.     n3:KEY TRANSPOSE                   ($F4~$0C:-12~12)
  3305.     n4:DETUNE                          ($CE~$32:-50~+50)
  3306.     n5:PAN                             (0~13:10:0~0:10,C,C+D,D)
  3307.  
  3308.     PART 2~8(n6~n40)以下同様の書式構成
  3309.  
  3310. (M1マニュアルp126参照)
  3311.  
  3312.  
  3313.     .M1_PART_SETUP {0,99,0,0,5
  3314.             0,99,0,0,5
  3315.             0,99,0,0,5
  3316.             0,99,0,0,5
  3317.             0,99,0,0,5
  3318.             0,99,0,0,5
  3319.             0,99,0,0,5
  3320.             0,99,0,0,5
  3321.             }
  3322. ----------------------------------------
  3323. ●M1エフェクトパラメータの設定
  3324. .M1_EFFECT_SETUP {n1,n2,…,n25}        *
  3325. ・n1~n25:
  3326.  
  3327.   M1のSEQ0のエフェクトパラメータの設定を行う。
  3328.  
  3329.   パラメータ(n1~n25)は必ず25個指定しなければならない。
  3330.  
  3331.     n1:Effect 1 Pattern No.            (0~33:1~32,Thru)
  3332.     n2:Effect 2 Pattern No.            (0~33:1~32,Thru)
  3333.     n3:Effect 1 L-Ch E.Balnc           (0~100)
  3334.     n4:Effect 1 R-Ch E.Balnc           (0~100)
  3335.     n5:Effect 2 L-Ch E.Balnc           (0~100)
  3336.     n6:Effect 2 R-Ch E.Balnc           (0~100)
  3337.     n7:Output 3 Pan                    (0~101:OFF,100:0~0:100)
  3338.     n8:Output 4 Pan                    (0~101:OFF,100:0~0:100)
  3339.     n9:Effect I/O                      (BIT0:Effect 1 L-Ch 0=OFF/1=ON
  3340.                         BIT1:Effect 1 R-Ch 0=OFF/1=ON
  3341.                         BIT2:Effect 2 L-Ch 0=OFF/1=ON
  3342.                         BIT3:Effect 2 R-Ch 0=OFF/1=ON)
  3343.                         BIT4:Effect 2 0=PARALLEL/1=SERIAL)
  3344.        n10~n17:Effect 1 Parameter 
  3345.        n18~n25:Effect 2 Parameter
  3346.  
  3347.     Structure  of  Effect  Parameter
  3348.                              (ofs=10 or 18)
  3349.     1~3:Hall (4,5:Room,6:Live Stage)
  3350.     n(ofs+0):Reverb Time                 (0~97:0.2~9.9),(0~48:0.2~5.0)
  3351.     n(ofs+1):Dummy                        0
  3352.     n(ofs+2):High Damp                   (0~99)
  3353.     n(ofs+3):Pre Delay                   (0~200)
  3354.     n(ofs+4):E/R Level                   (0~99)
  3355.     n(ofs+5):Dummy                        0
  3356.     n(ofs+6):EQ High                     ($F4~$0C:-12~+12)
  3357.     n(ofs+7):EQ Low                      ($F4~$0C:-12~+12)
  3358.  
  3359.     7~9:Early Reflection 1,2,3
  3360.     n(ofs+0):E/R Time                    (0~70:100~800)
  3361.     n(ofs+1):Pre Delay                   (0~200)
  3362.     n(ofs+2):Dummy                        0
  3363.           :                               :
  3364.     n(ofs+5):Dummy                        0
  3365.     n(ofs+6):EQ High                     ($F4~$0C:-12~+12)
  3366.     n(ofs+7):EQ Low                      ($F4~$0C:-12~+12)
  3367.  
  3368.     10:Stereo Delayt,11:Cross Delay
  3369.     n(ofs+0):Delay Time L (L)            (0~500)
  3370.     n(ofs+1):Delay Time L (H)
  3371.     n(ofs+2):Feedback                    ($9D~$63:-99~99)
  3372.     n(ofs+3):High Damp                   (0~99)
  3373.     n(ofs+4):Delay Time R (L)            (0~500)
  3374.     n(ofs+5):Delay Time R (H)
  3375.     n(ofs+6):EQ High                     ($F4~$0C:-12~+12)
  3376.     n(ofs+7):EQ Low                      ($F4~$0C:-12~+12)
  3377.  
  3378.     12~13:Stereo Chorus 1~2 (14~15:Flanger)
  3379.     n(ofs+0):Depth                       (0~99)
  3380.     n(ofs+1):Speed                       (0~99:0.03~3.00 0.03step
  3381.                           100~199:3.1~13.0 0.1step
  3382.                           200~216:14.0~30.0 1.0step)
  3383.     n(ofs+2):LFO Status                  (BIT0:Waveform =0:Sin,=1:Tri
  3384.                           BIT1:Phase =0:0.0゚,=1:180゚
  3385.                           BIT2:Wave Shape =0:Normal
  3386.                                   =1:for Flanger)
  3387.     n(ofs+3):Feedback                    ($9D~$63:-99~+99)
  3388.     n(ofs+4):Delay Time                  (0~200),(0~50)
  3389.     n(ofs+5):Dummy                        0
  3390.     n(ofs+6):EQ High                     ($F4~$0C:-12~+12)
  3391.     n(ofs+7):EQ Low                      ($F4~$0C:-12~+12)
  3392.  
  3393.     16~17:Phase Shifter 1~2
  3394.     n(ofs+0):Depth                       (0~99)
  3395.     n(ofs+1):Speed                       (0~99:0.03~3.00 0.03step
  3396.                           100~199:3.1~13.0 0.1step
  3397.                           200~216:14.0~30.0 1.0step)
  3398.     n(ofs+2):LFO Status                  (BIT0:Waveform =0:Sin,=1:Tri
  3399.                           BIT1:Phase =0:0.0゚,=1:180゚
  3400.                           BIT2:Wave Shape =0:Normal
  3401.                                   =1:for Flanger)
  3402.     n(ofs+3):Feedback                    ($9D~$63:-99~+99)
  3403.     n(ofs+4):Manual                      (0~99)
  3404.     n(ofs+5):Dummy                       0
  3405.     n(ofs+6):Dummy                       0
  3406.     n(ofs+7):Dummy                       0
  3407.  
  3408.     18~19:Stereo Toremolo 1~2
  3409.     n(ofs+0):Depth                       (0~99)
  3410.     n(ofs+1):Speed                       (0~99:0.03~3.00 0.03step
  3411.                           100~199:3.1~13.0 0.1step
  3412.                           200~216:14.0~30.0 1.0step)
  3413.     n(ofs+2):LFO Status                  (BIT0:Waveform =0:Sin,=1:Tri
  3414.                           BIT1:Phase =0:0.0゚,=1:180゚
  3415.                           BIT2:Wave Shape =0:Normal
  3416.                                   =1:for Flanger)
  3417.     n(ofs+3):Shape                       ($9D~$63:-99~+99)
  3418.     n(ofs+4):Dummy                       0
  3419.     n(ofs+5):Dummy                       0
  3420.     n(ofs+6):EQ High                     ($F4~$0C:-12~+12)
  3421.     n(ofs+7):EQ Low                      ($F4~$0C:-12~+12)
  3422.  
  3423.     20:Equalizer
  3424.     n(ofs+0):Dummy                       0
  3425.          :                               :
  3426.     n(ofs+3):Dummy                       0
  3427.     n(ofs+4):Low fc                      (0~2:0.25k,0.50k,1.00k)
  3428.     n(ofs+5):High fc                     (0~2:1k,2k,4k)
  3429.     n(ofs+6):High Gain                   ($F4~$0C:-12~+12)
  3430.     n(ofs+7):Low Gain                    ($F4~$0C:-12~+12)
  3431.  
  3432.     21:Overdrive
  3433.     n(ofs+0):Dummy                       0
  3434.     n(ofs+1):Dummy                       0
  3435.     n(ofs+2):Drive                       (0~99)
  3436.     n(ofs+3):Level                       (0~99)
  3437.     n(ofs+4):Dummy                       0
  3438.     n(ofs+5):Dummy                       0
  3439.     n(ofs+6):EQ High                     ($F4~$0C:-12~+12)
  3440.     n(ofs+7):EQ Low                      ($F4~$0C:-12~+12)
  3441.  
  3442.     22:Distortion
  3443.     n(ofs+0):Dummy                       0
  3444.     n(ofs+1):Dummy                       0
  3445.     n(ofs+2):Distortion                  (0~99)
  3446.     n(ofs+3):Level                       (0~99)
  3447.     n(ofs+4):Dummy                       0
  3448.     n(ofs+5):Dummy                       0
  3449.     n(ofs+6):Dummy                       0
  3450.     n(ofs+7):EQ Low Gain                 ($F4~$0C:-12~+12)
  3451.  
  3452.     23:Exciter
  3453.  
  3454.     n(ofs+0):Blend                       ($9D~$63:-99~+99)
  3455.     n(ofs+1):Emphatic Point              (0~9:1~10)
  3456.     n(ofs+2):Dummy                       0
  3457.          :                               :
  3458.     n(ofs+5):Dummy                       0
  3459.     n(ofs+6):EQ High                     ($F4~$0C:-12~+12)
  3460.     n(ofs+7):EQ Low                      ($F4~$0C:-12~+12)
  3461.  
  3462.     24:Synphonic Ensamble
  3463.     n(ofs+0):Depth                       (0~99)
  3464.     n(ofs+1):Dummy                       0
  3465.          :                               :
  3466.     n(ofs+5):Dummy                       0
  3467.     n(ofs+6):EQ High                     ($F4~$0C:-12~+12)
  3468.     n(ofs+7):EQ Low                      ($F4~$0C:-12~+12)
  3469.  
  3470.     25:Roteffect Speaker
  3471.     n(ofs+0):Depth                       (0~99)
  3472.     n(ofs+1):Dummy                       0
  3473.     n(ofs+2):Speed Rate                  ($F6~$0A:-10~+10)
  3474.     n(ofs+3):Dummy                       0
  3475.          :                               :
  3476.     n(ofs+7):Dummy                       0
  3477.  
  3478.     26:Delay/Hall
  3479.     n(ofs+0):Delay Time (L)              (0~500)
  3480.     n(ofs+1):Delay Time (H)
  3481.     n(ofs+2):Feedback                    ($9D~$63:-99~99)
  3482.     n(ofs+3):High Damp                   (0~99)
  3483.     n(ofs+4):Reverb Time                 (0~97:0.2~9.9)
  3484.     n(ofs+5):Dummy                       0
  3485.     n(ofs+6):High Damp                   (0~99)
  3486.     n(ofs+7):Pre Delay                   (0~150)
  3487.  
  3488.     27:Delay/Room
  3489.     n(ofs+0):Delay Time (L)              (0~500)
  3490.     n(ofs+1):Delay Time (H)
  3491.     n(ofs+2):Feedback                    ($9D~$63:-99~99)
  3492.     n(ofs+3):High Damp                   (0~99)
  3493.     n(ofs+4):Reverb Time                 (0~97:0.2~9.9)
  3494.     n(ofs+5):Dummy                       0
  3495.     n(ofs+6):High Damp                   (0~99)
  3496.     n(ofs+7):Pre Delay                   (0~150)
  3497.  
  3498.     28:Delay/Early Reflection
  3499.     n(ofs+0):Delay Time (L)              (0~500)
  3500.     n(ofs+1):Delay Time (H)
  3501.     n(ofs+2):Feedback                    ($9D~$63:-99~99)
  3502.     n(ofs+3):High Damp                   (0~99)
  3503.     n(ofs+4):E/R Time                    (0~30:100~400)
  3504.     n(ofs+5):Pre Delay                   (0~150)
  3505.     n(ofs+6):Dummy                       0
  3506.     n(ofs+7):Dummy                       0
  3507.  
  3508.     29:Delay/Chorus
  3509.     n(ofs+0):Delay Time L (L)            (0~500)
  3510.     n(ofs+1):Delay Time L (H)
  3511.     n(ofs+2):Feedback L                  ($9D~$63:-99~99)
  3512.     n(ofs+3):High Damp L                 (0~99)
  3513.     n(ofs+4):Delay Time R (L)            (0~500)
  3514.     n(ofs+5):Delay Time R (H)
  3515.     n(ofs+6):Feedback R                  ($9D~$63:-99~99)
  3516.     n(ofs+7):High Damp R                 (0~99)
  3517.  
  3518.     30:Delay/Chorus (31:Delay Flanger)
  3519.     n(ofs+0):Delay Time (L)              (0~500)
  3520.     n(ofs+1):Delay Time (H)
  3521.     n(ofs+2):Feedback                    ($9D~$63:-99~99)
  3522.     n(ofs+3):High Damp                   (0~99)
  3523.     n(ofs+4):Depth                       (0~99)
  3524.     n(ofs+5):Speed                       (0~99:0.03~3.00 0.03step
  3525.                           100~199:3.1~13.0 0.1step
  3526.                           200~216:14.0~30.0 1.0step)
  3527.     n(ofs+6):LFO Status                  (BIT0:Waveform =0:Sin,=1:Tri
  3528.                           BIT1:Phase =0:0.0゚,=1:180゚
  3529.                           BIT2:Wave Shape =0:Normal
  3530.                                   =1:for Flanger)
  3531.     n(ofs+7):Feedback                    ($9D~$63:-99~99)
  3532.  
  3533.     32:Delay/Phaser
  3534.     n(ofs+0):Delay Time (L)              (0~500)
  3535.     n(ofs+1):Delay Time (H)
  3536.     n(ofs+2):Feedback                    ($9D~$63:-99~99)
  3537.     n(ofs+3):High Damp                   (0~99)
  3538.     n(ofs+4):Depth                       (0~99)
  3539.     n(ofs+5):Speed                       (0~99:0.03~3.00 0.03step)
  3540.     n(ofs+6):Feedback                    ($9D~$63:-99~99)
  3541.     n(ofs+7):Dummy                       0
  3542.  
  3543.     33:Delay/Tremolo
  3544.     n(ofs+0):Delay Time (L)              (0~500)
  3545.     n(ofs+1):Delay Time (H)
  3546.     n(ofs+2):Feedback                    ($9D~$63:-99~99)
  3547.     n(ofs+3):High Damp                   (0~99)
  3548.     n(ofs+4):Depth                       (0~99)
  3549.     n(ofs+5):Speed                       (0~99:0.03~3.00 0.03step)
  3550.     n(ofs+6):Dummy                       0
  3551.     n(ofs+7):Shape                       ($9D~$63:-99~99)
  3552.  
  3553. (M1マニュアルp127参照)
  3554.  
  3555.  
  3556.     .M1_EFFECT_SETUP {1,3,50,50,50,50,50,50,%11111,
  3557.               50,0,50,100,50,0,0,0,50,0,50,
  3558.               100,50,0,0,0
  3559.              }
  3560. ----------------------------------------
  3561. ●M1ディスプレイ文字列表示
  3562. .M1_PRINT str
  3563. ・str:文字列
  3564.  
  3565.   M1のディスプレイに文字列を表示する。具体的にはM1のSEQ0のソングネーム
  3566.  
  3567. の設定をすることで行う。
  3568.  
  3569.   strは表示文字列で、"~"で括り、10文字以内で指定する。
  3570.  
  3571.  
  3572.     .M1_PRINT "MY WAY"
  3573. ----------------------------------------
  3574. ●M1へ設定を送信する
  3575. .SEND_TO_M1 id,if
  3576. ・id:0-127
  3577. ・if:$01~$04
  3578.  
  3579.   .M1_SETUP
  3580.   .M1_PART_SEUP
  3581.   .M1_EFFECT_SETUP
  3582.   .M1_PRINT
  3583.  
  3584. で設定したパラメータ群をMIDIポートifに接続されたM1へ送信する。
  3585.  
  3586.   ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
  3587.  
  3588. ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
  3589.  
  3590.  idはM1のデバイスIDで省略可能、省略時は$30。
  3591.  
  3592.   なお、M1のデバイスIDは$30+グローバルチャンネル(0~$f)で求められる。
  3593.  
  3594. (グローバルチャンネルとはGLOBALモードのF5-1で設定出来る)
  3595.  
  3596.   必ず
  3597.  
  3598.   .M1_SETUP
  3599.   .M1_PART_SEUP
  3600.   .M1_EFFECT_SETUP
  3601.   .M1_PRINT
  3602.  
  3603. を設定してからこの命令を実行すること。'.M1_EFFECT_SETUP'のみ省略が可能。
  3604.  
  3605. 省略時はZMUSICが持つデフォルト設定がM1へ送信され設定されることになる。
  3606.  
  3607.   .M1_SETUP
  3608.   .M1_PART_SEUP
  3609.   .M1_EFFECT_SETUP
  3610.   .M1_PRINT
  3611.  
  3612. の間にM1関係以外のコマンドがあると正常なデータが送信されないので注意
  3613.  
  3614. すること。
  3615.  
  3616.  
  3617.     .SEND_TO_M1 $30
  3618. ----------------------------------------
  3619. ■波形メモリ
  3620. ----------------------------------------
  3621. ●波形メモリの登録
  3622. .WAVE_FORM wv,lm,ls,le,lt,comment {d0,d1,d2,…,d4294967295}
  3623. .WAVEFORM wv,lm,ls,le,lt,comment {d0,d1,d2,…,d4294967295}
  3624. ・wv:8-255
  3625. ・lm:0-2 または 1SHOT,REPEAT,ALTERNATE
  3626. ・ls:0-4294967295
  3627. ・le:0-4294967295
  3628. ・lt:0-4294967295
  3629. ・comment:文字列
  3630. ・d0,d1,d2,…,d4294967295
  3631.  
  3632.   波形メモリを登録する。定義した波形はピッチモジュレーション(MML @M)、
  3633.  
  3634. ARCC(MML @A)、エンハンスドベロシティシーケンス(MML [VELOCITY.DEPTH])、
  3635.  
  3636. アゴーギク(MML [AGOGIK.DEPTH])にて利用可能。波形は整数で表し、各要素は
  3637.  
  3638. 離散的な波形構成値とみなされる。
  3639.  
  3640. ・wv:定義先波形番号
  3641.   定義先波形番号を指定する。0~7はプリセット波形用に予約されているため
  3642.  ユーザー定義波形である波形メモリは8~255に定義することになる。
  3643.  
  3644. ・lm:ループモード
  3645.   後述するループ領域を度のようにループさせるかを設定する。なおループモード
  3646.   0~2と実際の波形処理のされ方の対応は以下の通り。0~2はそれぞれ
  3647.   1SHOT,REPEAT,ALTERNATEといった文字列で指定することも可能。
  3648.  省略時はlm=0 1SHOTが選択される。
  3649.  
  3650.    lm数値  lm文字列  動作イメージ
  3651.     0       1SHOT     →            波形を一度実行したら最後の値を継続する
  3652.     1       REPEAT    →→→→....  ループ終点に到達したらループ開始点に戻る
  3653.     2       ALTERNATE →←→←....  ループ開始点からループ終点まで
  3654.                    交互に反復する
  3655.  
  3656. ・ls:ループ開始点
  3657.   ループ開始位置を波形データの何番目にするかを設定する。設定範囲は
  3658.   0-4294967295。省略時は0が選択される。
  3659.  
  3660. ・le:ループ終了点
  3661.   ループ終了位置を波形データの何番目にするかを設定する。設定範囲は
  3662.   0-4294967295。省略時は最後の波形データの位置が自動設定される。
  3663.  
  3664. ・lt:ループ回数
  3665.   ループ領域を何回ループさせるかを設定する。設定範囲は0-4294967295。
  3666.  なお0は無限ループとして設定される。
  3667.  
  3668. ・comment:コメント
  3669.  '{'以外の255文字を用いて波形に対する注釈を与えることが出来る。
  3670.  
  3671. ・d1~d4294967295:波形データ
  3672.  波形データは符号付き16ビット整数-32768~+32767で構成する。
  3673.   最大4294967296個。
  3674.  波形データは波形を利用する機能の種別に関係無く直値が利用される。
  3675.  値が大きすぎる時や小さすぎる時は、その効果が現れなかったり
  3676.  大きすぎたりするため、そういう場合は、振幅制御の命令を駆使する
  3677.  などして適宜調整する必要がある。
  3678.  
  3679.  
  3680.   .wave_form 8,REPEAT,800,1200,0,ORG_WAVE001 {0,5,-5,10,3,-300,10,6,80,10}
  3681.  
  3682. (MEASURE3 zm_set_wave_form1(),zm_set_wave_form2()参照)
  3683. ----------------------------------------
  3684. ■マクロ定義
  3685. ----------------------------------------
  3686. ●マクロ定義
  3687. .DEFINE macro p1,p2,...,p255 { contents }        *
  3688. ・macro:文字列
  3689. ・p1~p255:文字列
  3690. ・contents:文字列
  3691.  
  3692.   マクロ定義を行う。ZMUSICには初めから備わっていないオリジナルのZMSコマンドを
  3693.  
  3694. 作成したり、頻繁に登場する演奏パターンをコマンド化してZMSを見やすくしたりする
  3695.  
  3696. ことが出来る。ただし、定義したマクロの数に応じてコンパイル処理は遅くなる。
  3697.  
  3698. (ただし、コンパイルして出来たZMDは通常のZMDと同様の処理速度で演奏される)
  3699.  
  3700.   マクロ名はmacroで与え、'{'を除く英数字、全角の240文字以内の文字列で与える
  3701.  
  3702. ことが出来る。
  3703.  
  3704.   p1~p255はマクロに与えるパラメータで、%でマクロに与えたいパラメータの
  3705.  
  3706. 個数だけ、記述する。
  3707.  
  3708.  contentsはマクロの内容で、任意の文字列を与えることが出来る。p1~p255で
  3709.  
  3710. 設定したパラメータを内容中に挿入したい時には%を添付する。
  3711.  
  3712.  
  3713.  .define DRUM1 %,%,%,% {
  3714.     c%d%c%d%
  3715.     }
  3716.  
  3717.  %の後ろに数値を付けてパラメータの対応を判り易く記述することも出来るが、
  3718.  
  3719. その場合数値指定なしの記述とは混在出来ない。
  3720.  
  3721.  
  3722.  
  3723.  .define DRUM1 %1,%2 {
  3724.     c%2d%1
  3725.     }
  3726.  
  3727. ×
  3728.  
  3729.  .define DRUM1 %1,% {
  3730.     c%d%2
  3731.     }
  3732.  
  3733.  なお、.DEFINE命令には以下のような制限事項がある。
  3734.  
  3735. 1. マクロ名に全角文字は全文字使えるが、半角文字の場合は英字の
  3736.   大文字小文字の区別はない。
  3737.  
  3738. 2. ZMS中のありとあらゆるテキストがマクロ変換対象になる。
  3739.  
  3740. 3. マクロの変換対象となるソースは親ソースのみで、includeしたファイルや
  3741.   ADPCM定義ファイルなどのサブ・ファイルはマクロの変換対象にならない。
  3742.  
  3743. 4.マクロ内容にパラメータに相当しない%記号を用いられない。
  3744.  たとえば
  3745.  
  3746.     .define ABC %,%,% {c%d%e%001}
  3747.  
  3748. としたとき最後の%001は2進数値とみなされずにマクロパラメータ識別子%と
  3749.  
  3750. 10進数の'001'としてみなされる。
  3751.  
  3752. 5. .DEFINE文で与えたパラメータの数とマクロ内容で参照するパラメータの数は
  3753.   必ず同一でなければならない。たとえば
  3754.  
  3755.     .define ABC  %,%,% {c%d%e}
  3756.  
  3757.  はエラーとなる。
  3758.   ただし、使用する時は与えるパラメータが少なくても構わない。足りない
  3759.  パラメータに付いてはなにも与えないで処理される。たとえば上のような
  3760.  定義のもとで
  3761.  
  3762.     ABC 1,2
  3763.  
  3764.  とすると
  3765.  
  3766.     c1d2e
  3767.  
  3768. として処理される。
  3769. ----------------------------------------
  3770. ■コメント/注釈文
  3771. ----------------------------------------
  3772. ●コメント
  3773. /str
  3774. ・str:文字列
  3775.  
  3776.   '/'以後、改行までをコメントとして無視する。
  3777.  
  3778. コンパイル後のZMDにはその内容は反映されない。
  3779.  
  3780.  
  3781.   / ORGAN SOLO
  3782. ----------------------------------------
  3783. ●コメント
  3784. .COMMENT str
  3785. ・str:文字列
  3786.  
  3787.   改行までの文字列strをコメントとして無視する。
  3788.  
  3789.   '/'とは、コンパイル後のZMDにその内容が出力される点が違う。
  3790.  
  3791.   曲のタイトル、制作日時、データ制作者の名前等をZMSファイル先頭に記述する
  3792.  
  3793. のが一般的な用途。
  3794.  
  3795. *タイトル文字は
  3796. *    1行目は曲のタイトル。それ以降はコメント。
  3797. *    また、曲名/作曲者/編曲者/データ作成者の様な一般的な情報を複数行にわたって
  3798. *    記述する場合は以下の文字列で表される情報タイトルの後に記載することと規定する。
  3799. *    (情報タイトルの日本語は全角、英字は半角英数大文字のみ、また : は必須)
  3800. *曲名:        TITLE:
  3801. *作曲者:    COMPOSER:
  3802. *編曲者:    ARRANGER:
  3803. *作成者:    MANIPULATER:
  3804. *作成日:    DATE:        (原曲の作曲年月日はCOPYRIGHT:)
  3805. *録音場所    STUDIO:
  3806. *使用機器:    INSTRUMENTS:
  3807. *ジャンル:    CATEGORY:
  3808. *例)
  3809. *.comment {
  3810. *TITLE: I am a boy, therefore I have balls.
  3811. *作曲者:西川善司
  3812. *STUDIO:自宅
  3813. *ジャンル:童謡
  3814. *}
  3815.  
  3816.   .comment STAGE 1 BGM VERSION 1.10 (c)1992/11 XVI
  3817. ----------------------------------------
  3818. ●文字列表示
  3819. .PRINT str
  3820. ・str:文字列
  3821.  
  3822.   改行までの文字列strを画面に出力する。
  3823.  
  3824. いかなる方法で演奏しても文字列を出力してしまうので、通常は用いない。
  3825.  
  3826.  
  3827.   .PRINT HERE WE GO!
  3828. ----------------------------------------
  3829. ●ダミー命令
  3830. .DUMMY
  3831.  
  3832.   なにも実行しないダミー命令。ただし、ZMDに1バイト分のダミーコードが
  3833.  
  3834. 出力される。コンパイル後のZMDに手を加える時などに有効。通常は使用する
  3835.  
  3836. 必要はない。
  3837.  
  3838.  
  3839.   .DUMMY
  3840. ----------------------------------------
  3841.